Тааак. А теперь по полочкам. Тоже столкнулся с этой ошибкой - когда заказчик захотел чтобы одна и та же юмла обслуживала несколько доменов - ссылающихся на разные подразделы сайта.
Joomla 1.0.12 - jcomments 1.4.0.7 - (modified - updated)
Ох и головняка было. А теперь подробно как выйти из этой ситуации: (
Jcomments абсолютно не при чем!):
1. configuration.php ст. 44 (или ниже):
$mosConfig_live_site = 'http://'.$_SERVER['HTTP_HOST']; //(или https) убедитесь что $_SERVER['HTTP_HOST'] не пустая переменная!
2. Убираем права на перезапсь из админки configuration.php - после записи будет ох как интересно обнаружить что $mosConfig_live_site = 'http://'.$_SERVER['HTTP_HOST']; - будет равно $mosConfig_live_site = '
http://www.ya.ru'; - значению переменной в данный момент времени
'http://'.$_SERVER['HTTP_HOST'] - это по сути номинальный адрес сайта в этот раз:)
www.ya.ru или ya.ru
3. Но это еще не все - для всего прочего придется пожертвовать внутренней системой кэширования Joomla, у нее буквально начинает сносить крышу и на кэшированных страницах может всплыть абсолютно любой из прописанных доменов в ссылках - у меня было так:
захожу на overtime.kharkov.ua
а ссылки из кэша ведут на velo.overtime.kharkov.ua - и эти ссылки являются базовыми для хаджакса - после чего браузер отказывается нормально воспринимать аякс запросы (ну у нас установлена другая мощная внешняя система кэширования - так что производительность особо и не потерялась)
Хотя можно вот как сделать (если у вас не мультидоменная система - а всего лишь
www.test.ru,test.ru):
Небольшой хак на джумкомментс:
components/com_jcomments/jcomments.class.php string 912- 920:
$tmpl->addGlobalVar('siteurl', 'http://'.$_SERVER['HTTP_HOST'] );
$tmpl->addGlobalVar('charset', strtolower( preg_replace('/charset=/', '', _ISO ) ) );
if ( $mainframe->isAdmin() ) {
$tmpl->addGlobalVar('sitexajaxurl', 'http://'.$_SERVER['HTTP_HOST'] . '/administrator/index3.php?option=com_jcomments&no_html=1' );
} else {
$tmpl->addGlobalVar('sitexajaxurl', 'http://'.$_SERVER['HTTP_HOST'] . '/index2.php?option=com_jcomments&Itemid='.($Itemid ? $Itemid : 1).'&no_html=1' );
}
А на самом деле правильно прислушаться к мнению разработчика - если у вас нет очень сложных хитросплетений мод реврайта (из которых трудно выйти новичку) + вы в этом разбираетесь - напишите пару правил для .htaccess: