vhost_alias проблемы c $_SERVER[DOCUMENT_ROOT] и .htaccess

Статей по настройке vhost_alias много, но почти никто не упоминает о проблемах.
Я пока нашёл две. Первая — это некорректно начинает работать $_SERVER[DOCUMENT_ROOT] и вторая тоже самое с .htaccess.
Начну с .htaccess. При обычных настройках apache при записи в .htaccess:

строка
http://domen.ru/img/picture.jpg
заменится на
http://domen.ru/images/picture.jpg.
При включении vhost_alias произойдёт следующее чудо:
http://domen.ru/domen.ru/images/picture.jpg
и естественно ничего работать не будет.
Решается это легко, добавление записи в .htaccess:

С $_SERVER[DOCUMENT_ROOT] чуть сложнее, но решаемо.
При включении vhost_alias на всех сайтах $_SERVER[DOCUMENT_ROOT] начинает отдавать /var/www, ни или какой корень настроен.
Вариантов решения два. Правильный это использовать dirname(__FILE__) вместо $_SERVER[DOCUMENT_ROOT].
Второй, если уже всё написано и лень исправлять, то рядом с настройкой vhost_alias допишем:

В корне создадим файл fix_docroot.php с таким содержанием:

Строчка $_SERVER[«OLD_DOCUMENT_ROOT»] нужна только для сохранения старого $_SERVER[«DOCUMENT_ROOT»], мало ли понадобится.
Ну и всё, рестартим apache и провераем.

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

Ваш e-mail не будет опубликован.

question razz sad evil exclaim smile redface biggrin surprised eek confused cool lol mad twisted rolleyes wink idea arrow neutral cry mrgreen

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.