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”