Joomla делаем из абсолютных ссылок относительные

Сайт, работающий на Joomla выводит все ссылки, которые генерируются при помощи mod_mainmenu (upd. и не только) как абсолютные, то есть с http://:

http://joomla.site/link.htm

Насколько это корректно, хорошо или плохо - не скажу.. однако, я считаю, что внутренние ссылки должны быть именно внутренними, а точнее, относительными (т.е. без http:// ).

Итак делаем относительные ссылки на Joomla.

В файле /includes/sef.php следует внести исправление в двух местах:

(делаем SEF-ссылки относительными)
return $mosConfig_live_site .'/'. $string . $fragment;
(~ строка 520) заменяем на
return '/'. $string . $fragment;

(делаем обычные не SEF-ссылки относительными)
$string = $mosConfig_live_site .'/'. $string;
(~ строка 550) заменяем на
$string = '/'. $string;

Вот и всё - теперь все ссылки, которые генерируются автоматически будут без http. Ссылки в содержимом не обрабатываются - они так и останутся абсолютными (ну, или относительными - зависит от того, как вставляли ссылку)

На заметку: Мамбот NoFollow добавляет в абсолютные внешние ссылки… действительно Nofollow.

UPD для превращения вообще всех абсолютных внутренних ссылок в относительные можно написать собственный мамбот, который в зависимости от значения $_SERVER[’HTTP_HOST’] будет “вырезать” все лишние “внутренние” http: href=”http://(www\.)?joomla.site”

Метки: ,

Автор будет признателен, если Вы поделитесь ссылкой на статью, которая Вам помогла:
BB-код (для вставки на форум)

html-код (для вставки в ЖЖ, WP, blogger и на страницы сайта)

ссылка (для отправки по почте)

Добавить комментарий