воскресенье, 11 июля 2010 г.

Проблема при формировании путей в Joomla

При переезде с одного хостинга на другой возникла такая ситуация. CMS Joomla неверно формировала пути, в частности это выражалось в неверных путях до изображений и неверном формировании тега base.

В интернете при этой ошибке часто рекомендуется исправить в файле head.php строку 66. А точнее заменить в ней $document->getbase() на JURL::base(). Но у меня это не сработало.

На одном забугорном сайте нашел что ситуация может возникать если параметр в php.ini cgi.fix_pathinfo = 1. Посмотрел в phpinfo() и правда. Т.к. была возможность сбросил его в 0. Теперь все работает.

info:
cgi.fix_pathinfo = boolean
Обеспечивает поддержку правильных PATH_INFO/PATH_TRANSLATED в CGI. Раньше PHP просто устанавливал PATH_TRANSLATED в SCRIPT_FILENAME и не обращал внимания на PATH_INFO. Для получения дополнительной информации о PATH_INFO, обратитесь к спецификации CGI. Установка этого значения в 1 заставит PHP CGI исправлять свой путь в соответствии со спецификацией. Значение 0 соответствует предыдущему поведению. По умолчанию установлен 0. Вы должны исправить свои скрипты так, чтобы они использовали SCRIPT_FILENAME вместо PATH_TRANSLATED.

Комментариев нет: