|
Правила •
Регистрация •
Справка Сообщения за день • Поиск |
|
|
|
Опции темы | Опции просмотра |
): ǝҺɐни dиw ɐн иd⊥оwɔ
|
Цитата:
Напильник для RUNCMS Строим помаленьку Для гурманов Мебель для дома |
||||
|
|
Участник
|
чтобы в модулях были нормальнеы ссылки!!!
в xoopsmodule.php из папки /class в основной директории иеняем Код:
function rewrited_url($url) { if (rc_get_option('mod_rewrite') && $this->getModInfoVar('hasRewrite') == 1) { // $url = preg_replace(array("/&/","/#/","/(?<!href)=/","/\.php\?*/"), "_", $url); // $url = substr($url, -1) != "_" ? $url.".html" : substr($url, 0, -1).".html"; $hash = strstr($url,'#'); if($hash) { $url = substr($url, 0, strlen($url) - strlen($hash)); } $url = preg_replace(array("/&/","/&/","/(?<!href)=/","/\.php\?*/"), "_", $url); $url = substr($url, -1) != "_" ? $url.".html" : substr($url, 0, -1).".html"; $url = $this->url($url); if($hash) $url .= $hash; }else { $url = $this->url($url); } return $url; } Код:
function rewrited_url($url) { if (rc_get_option('mod_rewrite') && $this->getModInfoVar('hasRewrite') == 1) { // $url = preg_replace(array("/&/","/#/","/(?<!href)=/","/\.php\?*/"), "_", $url); // $url = substr($url, -1) != "_" ? $url.".html" : substr($url, 0, -1).".html"; $hash = strstr($url,'#'); if($hash) { $url = substr($url, 0, strlen($url) - strlen($hash)); } $url = preg_replace(array("/&/","/&/","/(?<!href)=/","/\.php\?*/"), "_", $url); $url = substr($url, -1) != "_" ? $url.".html" : substr($url, 0, -1).".html"; $url = $this->url($url); $url = str_replace("\\modules\\", "\\", $url); $url = str_replace("/modules/", "/", $url); if($hash) $url .= $hash; }else { $url = $this->url($url); } return $url; } Код:
$url = str_replace("\\modules\\", "\\", $url); $url = str_replace("/modules/", "/", $url); модули на сайте ЦитатникБашОрг / ТВ программа / Погода / Гороскоп / Курсы валют по Республике БашкортостанБ + другие |
||||
|
|
Напильникъ - наше все
|
Мдя, нелегкая эта работка оказалась, все ссылки перетащить на новый ляд! Попробую вкратце описать, что пришлось сделать.
1. Поправил генерацию автоматических ссылок на модули через файл class/xoopsmodule.php. В принципе, правки для него описаны выше - но я обошелся заменой только ОДНОЙ строки функции function url($file=''): PHP код:
PHP код:
3. Часть модулей пришлось также "бить ручками": messages - правка файла blocks/pmblock.php (во всех <a href убрал /modules) myarticles - правка файла inclues/functions.inc.php: в функцию function rewrite_link($url) перед return $url добавил строчки PHP код:
файл config_themes.php - вторая строчка формирования переменной bbPath['url'] теперь выглядит так: PHP код:
файл class/class.linker.php - в три фукнции (все, кроме первой и последней) добавил глобальную переменную $bbPath, а в формируемые ссылки вначале приписал $bbPath['url'] (без этого "художества" при переходе по ссылке мойсайт/newbb_plus БЕЗ завершающего слеша в конце все ссылки на индексе формировались БЕЗ ссылки на директорию newbb_plus). xoopsfaq - пришлось ручками править doc-файлы в директории cache, бо все содержимое FAQ хранится в них. И последнее, что оставалось после этого сделать - "отлакировать" БД. Действовал запросом Update <таблица> Set <поле>=Replace(<поле>, '/modules/', '/') на все поля, содержащие пользовательский текст. Удачи тем, кто пойдет следом Последний раз редактировалось ZlydenGL, 03-21-2009 в 01:58 Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник. |
||||
|
|
Напильникъ - наше все
|
Нашел "забавную" корявку.
В данный момент, если зайти на http://scrap-info.ru/newbb_plus/, то ВСЕ изображения форума не загрузятся Физически файлы присутсвуют, более того - если к ним обращаться с помощью ПОЛНЫХ путей (т.е. например http://scrap-info.ru/modules/newbb_plus/images/imagesets/fisubsilver/tree_open.gif вместо http://scrap-info.ru/newbb_plus/imag.../tree_open.gif), то изображения доступны. Т.е. получается, что строчка PHP код:
Дальше - смешнее. Файл RSS форума (расположенный по пути http://scrap-info.ru/newbb_plus/cache/forum.xml ) открывается нормально. А вот ВЛОЖЕНИЯ на форуме (которые хранятся в папке newbb_plus/cache/attachments) уже не редиректятся на короткий путь В чем может быть засада? Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник. |
||||
|
|
Напильникъ - наше все
|
Походу ситуация еще смешнее - для ВСЕХ модулей недоступны изображения, если эти изображения находятся в папке images самого модуля (т.е. то ли выполняется вышеуказанная строка, то ли НЕ выполняется следующая за ней). Остальные файлы (php, xml, inc, ets) отрабатываются на ура. Уж и не знаю, куда копать... Полный листинг файла .htaccess прикладываю.
Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник. |
||||
|
|
Напильникъ - наше все
|
Ларчик, как оказалось, открывался просто. В какой-то момент нагрузка на портал (каюсь, не обошлось без моих шаловливых ручек) превысила некий предел - и masterhost принудительно (почему-то даже без уведомлений) включил "статический HTTP" - при котором файлы статического содержания гонялись не через Apache, а через некий EngineX (может быть неправильно написал, еще ищу инфу) - и соответственно директивы mode_rewrute'a к таким файлам не применялись. Решается, конечно, эта проблема элементарнейше (но тем не менее достаточно муторно) - надо просто в самом движке переписать ссылки на статический контент (картинки, css, текстовые файлы, ets). Постараюсь, как дойдут руки, воплотить сие в жисть.
Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник. |
||||
|
|
Напильникъ - наше все
|
Yrich, по мне так стоит Навигация (особенно для маньяков а-ля я сам, любящих в адресной строке полный адрес набирать) упростилась в разы благодаря сокращению длины ссылок. Выглядит это все, опять же, намного эстетичней. А в релиз 100% не включат, потому как надо во всех модулях вводить дополнительные переменные для хранения путей до картинок (на случай оптимизации по типу вышеописанной). В newbb_plus с этим оказалось на удивление все хорошо, а вот для прочих модулей еще не смотрел (хотя служебных картинок на форуме, конечно, в разы больше).
Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник. |
||||
|
|
|
|
|
Powered by: vBulletin Version 3.0 Copyright ©2000-2025, Jelsoft Enterprises Ltd. |
Все разделы прочитаны - Руководство форума - Архив - Вверх |