Проблема Apache и виртуальных хостов в OS X

Проблема Apache и виртуальных хостов в OS X

Недавно я отформатировал и установил свой iMac. Я использую 10.6.5. До этого форматирования у меня был установлен и работал веб-сервер Apache по умолчанию с несколькими виртуальными хостами, и все работало прекрасно. После форматирования я снова все настроил, и теперь Apache ведет себя странно. Вот описание того, что у меня происходит.

Мой корневой каталог по умолчанию для веб-сервера Apache указывает на внешний жесткий диск. В моем httpd.conf вот что у меня есть:

DocumentRoot "/Storage/Sites"

И еще несколько строк ниже:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>

И затем ниже:

<Directory "/Storage/Sites">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from All
</Directory>

В конце этого файла я закомментировал файл конфигурации каталога пользователя:

Include /private/etc/apache2/extra/httpd-userdir.conf

И раскомментировал файл конфигурации виртуальных хостов:

Include /private/etc/apache2/extra/httpd-vhosts.conf

Двигаемся дальше. В моем файле vhosts есть следующая запись:

<VirtualHost *:80>
   DocumentRoot "/Storage/Sites/mysite"
   ServerName mysite.dev
</VirtualHost>

У меня также есть запись хоста в файле /etc/hosts, которая указывает mysite.dev на 127.0.0.1 (я также пробовал использовать IP-адрес моего маршрутизатора, 192.168.1.2).

Проблема, с которой я сталкиваюсь, заключается в том, что, несмотря на наличие файлов PHP в /Storage/Sites/mysite, сервер все еще смотрит на /Storage/Sites. Я знаю это, потому что в DocumentRoot содержится файл php с phpinfo() (тогда как файл index.php в mysite имеет другой код).

Я пробовал настраивать другие виртуальные хосты, но они все еще делают то же самое. Кроме того, "NameVirtualHost *:80" есть в моем файле vhosts. Я видел решение в другой теме здесь. Кажется, это не имеет значения.

Есть идеи по этому поводу? Дайте мне знать, если этой информации недостаточно.

решение1

Включайте только те параметры директивы, которые будут общими для всех VirtualHosts в вашем основном файле httpd.conf. Сделайте все хосты, обслуживаемые Apache, виртуальными.

Удалите DocumentRoot и блоки из вашего основного файла httpd.conf. Оставьте их только в файле httpd-vhosts.conf.

Связанный контент