Назад | Перейти на главную страницу

Проблема с корневым каталогом Apache2

У меня есть установка apache2 на моем локальном компьютере с виртуальными хостами.

В моем файле hosts у меня есть это:

127.0.1.1 mysite

'mysite' - это сайт, на котором у меня есть скрипты php, которые используют include ('/ path / to / something');

Если я наберу «mysite» в адресе своего браузера, все загрузится нормально.

Однако если я наберу http: // локальный / mysite,

я получаю такие ошибки, как: Предупреждение: включите (/media/Shared/sites/www/includes/functions.php

Обратите внимание, что в сообщениях об ошибках после www отсутствует mysite. поэтому мой сценарий считает, что корнем является www, а не www / mysite. Это проблема, потому что то же самое происходит, когда я захожу на сайт через внешний IP-адрес.

Как я могу это исправить?

Когда вы получаете доступ http: // локальный / mysite /, Apache будет искать правильный VirtualHost для использования с использованием правил приоритета Apache, подробно описанных в официальной документации Apache. Затем это зависит от того, как настроены ваши разные VirtualHosts.

Вам необходимо иметь "ServerAlias ​​localhost" в настройке виртуального хоста mysite, иначе Apache, скорее всего, будет использовать вместо этого виртуальный хост 000-default. Если вы работаете в соответствии с правилами NameVirtualHosts для этого IP-адреса, Apache будет искать правильный виртуальный хост для использования с использованием заголовка Host: запроса, и, если ни один не соответствует, будет использовать первый определенный, действительный для этого IP / порта.

Ваш "mysite" - первая запись в вашем списке виртуальных хостов? Если это не так, то доступ http: // локальный / mysite / не будет использовать ожидаемую запись виртуального хоста. Если запрошенное имя хоста не совпадает с Название сервера или ServerAlias записи в вашей конфигурации (разрешены подстановочные знаки) Apache не будет использовать эту запись.