Сайт сообщества | Клуб пользователей | О проекте

Имя
Пароль
ПравилаРегистрацияСправка
Сообщения за деньПоиск

Вернуться   Клуб пользователей портальной системы RUNCMS > Опен Ресурс > Разработчикам > Готовые хаки

Ответ
 
Опции темы Опции просмотра
pan вне форума pan
): ǝҺɐни dиw ɐн иd⊥оwɔ

Аватар для pan

| Цитировать Старый #41 03-07-2009, 04:46

Цитата:
Скорее всего, ссылки корректно заменятся автоматически, но наиболее быстрым
вариантом является настройка серверного редиректа таким образом, чтобы
страницы с "modules" перенаправляли на соответствующие им страницы без
"modules".
вот именно, а хак то не делает автоматом 301 и то что они говорят в поддержке часто не совпадает с тем что происходит Даже банально когда нужно сделать основное зеркало с www приходится ждать от трех месяцов ( а ссылки то на www ведут )


Напильник для RUNCMS
Строим помаленьку
Для гурманов
Мебель для дома
Посетить домашнюю страницу pan
  Сообщения: 4,777 c 15.03.2004 | Репутация: 121
Radli вне форума Radli
Участник

Аватар для Radli

| Цитировать Старый #42 03-09-2009, 20:58

чтобы в модулях были нормальнеы ссылки!!!

в 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("/&amp;/","/&/","/(?<!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("/&amp;/","/&/","/(?<!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;
}
добавлены 2 строчки, которая убрает modules
Код:
    $url = str_replace("\\modules\\", "\\", $url); 
$url = str_replace("/modules/", "/", $url);
Может можно проще. Посмотреть в работе можно http://love.ac-b.ru/


модули на сайте ЦитатникБашОрг / ТВ программа / Погода / Гороскоп / Курсы валют по Республике БашкортостанБ + другие
  Сообщения: 125 c 22.03.2008 | Репутация: 15
ZlydenGL вне форума ZlydenGL
Напильникъ - наше все

Аватар для ZlydenGL

| Цитировать Старый #43 03-21-2009, 01:52

Мдя, нелегкая эта работка оказалась, все ссылки перетащить на новый ляд! Попробую вкратце описать, что пришлось сделать.

1. Поправил генерацию автоматических ссылок на модули через файл class/xoopsmodule.php. В принципе, правки для него описаны выше - но я обошелся заменой только ОДНОЙ строки функции function url($file=''):
PHP код:
$ret RC_MOD_URL."/".$this->dirname(); 
заменил на
PHP код:
$ret "/".$this->dirname(); 
2. Поправил файл theme.php - чтобы в шапке были короткие ссылки. Править пришлось вручную, бо ничего сложного там нет.
3. Часть модулей пришлось также "бить ручками":
messages - правка файла blocks/pmblock.php (во всех <a href убрал /modules)
myarticles - правка файла inclues/functions.inc.php: в функцию function rewrite_link($url) перед return $url добавил строчки
PHP код:
$url str_replace("\\modules\\""\\"$url); 
$url str_replace("/modules/""/"$url); 
newbb_plus - тут правки были самыми массивными:
файл config_themes.php - вторая строчка формирования переменной bbPath['url'] теперь выглядит так:
PHP код:
$bbPath['url']           = XOOPS_URL.'/'.$bbPath['url'].'/'
файл blocks/newbb_new.php - в 36 строчки убрал упоминание /modules (иначе на блоке последних сообщений все ссылки формируются с modules)
файл 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


Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник.
  Сообщения: 777 c 22.09.2008 | Репутация: 92
ZlydenGL вне форума ZlydenGL
Напильникъ - наше все

Аватар для ZlydenGL

| Цитировать Старый #44 04-02-2009, 11: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 код:
RewriteRule ^(cache|class|images|include|language|manual|modules|themes|style|club|book){1}/(.*)$ $1/$[QSA,L
отрабатывается даже для изображений, которые находятся в каталоге имя_модуля/images.

Дальше - смешнее. Файл RSS форума (расположенный по пути http://scrap-info.ru/newbb_plus/cache/forum.xml ) открывается нормально. А вот ВЛОЖЕНИЯ на форуме (которые хранятся в папке newbb_plus/cache/attachments) уже не редиректятся на короткий путь

В чем может быть засада?


Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник.
  Сообщения: 777 c 22.09.2008 | Репутация: 92
ZlydenGL вне форума ZlydenGL
Напильникъ - наше все

Аватар для ZlydenGL

| Цитировать Старый #45 04-02-2009, 13:30

Походу ситуация еще смешнее - для ВСЕХ модулей недоступны изображения, если эти изображения находятся в папке images самого модуля (т.е. то ли выполняется вышеуказанная строка, то ли НЕ выполняется следующая за ней). Остальные файлы (php, xml, inc, ets) отрабатываются на ура. Уж и не знаю, куда копать... Полный листинг файла .htaccess прикладываю.
Вложения
Тип файла: txt .htaccess.txt (4.2 Кбайт, 3 просмотров)


Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник.
  Сообщения: 777 c 22.09.2008 | Репутация: 92
ZlydenGL вне форума ZlydenGL
Напильникъ - наше все

Аватар для ZlydenGL

| Цитировать Старый #46 04-02-2009, 18:31

Ларчик, как оказалось, открывался просто. В какой-то момент нагрузка на портал (каюсь, не обошлось без моих шаловливых ручек) превысила некий предел - и masterhost принудительно (почему-то даже без уведомлений) включил "статический HTTP" - при котором файлы статического содержания гонялись не через Apache, а через некий EngineX (может быть неправильно написал, еще ищу инфу) - и соответственно директивы mode_rewrute'a к таким файлам не применялись. Решается, конечно, эта проблема элементарнейше (но тем не менее достаточно муторно) - надо просто в самом движке переписать ссылки на статический контент (картинки, css, текстовые файлы, ets). Постараюсь, как дойдут руки, воплотить сие в жисть.


Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник.
  Сообщения: 777 c 22.09.2008 | Репутация: 92
Yrich вне форума Yrich
Младший участник

Аватар для Yrich

| Цитировать Старый #47 04-03-2009, 12:38

Прочитав данную тему, задаюсь вопросом: Стоит ли?
А в новой версии рони наверное надо этот хак внедрить )))


Ученье свет, а не ученье - чуть свет и на работу....
Посетить домашнюю страницу Yrich
  Сообщения: 93 c 05.03.2006 | Репутация: 1
ZlydenGL вне форума ZlydenGL
Напильникъ - наше все

Аватар для ZlydenGL

| Цитировать Старый #48 04-03-2009, 13:17

Yrich, по мне так стоит Навигация (особенно для маньяков а-ля я сам, любящих в адресной строке полный адрес набирать) упростилась в разы благодаря сокращению длины ссылок. Выглядит это все, опять же, намного эстетичней. А в релиз 100% не включат, потому как надо во всех модулях вводить дополнительные переменные для хранения путей до картинок (на случай оптимизации по типу вышеописанной). В newbb_plus с этим оказалось на удивление все хорошо, а вот для прочих модулей еще не смотрел (хотя служебных картинок на форуме, конечно, в разы больше).


Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник.
  Сообщения: 777 c 22.09.2008 | Репутация: 92
Yrich вне форума Yrich
Младший участник

Аватар для Yrich

| Цитировать Старый #49 04-03-2009, 14:30

Все же это работает. но местами надо править, но это уже мелочь


Ученье свет, а не ученье - чуть свет и на работу....
Посетить домашнюю страницу Yrich
  Сообщения: 93 c 05.03.2006 | Репутация: 1
Yrich вне форума Yrich
Младший участник

Аватар для Yrich

| Цитировать Старый #50 04-03-2009, 14:38

А как быть с модулем news у меня новостей за 2,5 года, я даже боюсь что то менять там.
Может кто может подсказать что конкретно нужно изменить там?
Или лучше я его трогать не буду


Ученье свет, а не ученье - чуть свет и на работу....
Посетить домашнюю страницу Yrich
  Сообщения: 93 c 05.03.2006 | Репутация: 1
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Рейтинг@Mail.ru Хостинг провайдер Majordomo. Powered by: vBulletin Version 3.0
Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Все разделы прочитаны - Руководство форума - Архив - Вверх
Rambler's Top100
Output: 97.97 Kb. compressed to 90.03 Kb. by saving 7.94 Kb. (8.11%)
Page generated in 0.19353 seconds with 11 queries