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

VirtualHost на Lion переходит к неправильному корню документа

Мне сложно запустить виртуальные хосты на моей локальной машине разработки Lion.

Вот сценарий. У меня есть Site-A.dev и Site-B.dev, сидящие в моем User/computername/Sites папка, например: User/computername/Sites/Site-A.com User/computername/Sites/Site-B.com

Мой /etc/apache2/extra/httpd-vhosts.conf файл имеет следующие записи:

#<VirtualHost *:80>
#       DocumentRoot /Users/computername/Sites/Site-A.com
#       ServerName project.Site-A.dev
#</VirtualHost>
<VirtualHost *:80>
        DocumentRoot /Users/computername/Sites/Site-B.com
        ServerName project.Site-B.dev
</VirtualHost>

И мой etc/hosts файл выглядит так:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0     localhost

#127.0.0.1      project.Site-A.dev
127.0.0.1       project.Site-B.dev

Несмотря на то, что все экземпляры Site-A закомментированы, каждый раз, когда я пытаюсь http://project.Site-B.dev Я получаю Site-A в браузере! Что происходит в мире?

Чтобы усложнить ситуацию, при редактировании моих /etc/apache2/httpd.conf файл, чтобы он выглядел так:

# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf

Я получаю сообщение об ошибке "Сервер не найден"!

Если я оставлю это так:

# Virtual hosts
#Include /private/etc/apache2/extra/httpd-vhosts.conf

Тогда все, что я получу, это Сайт-А

Что мне не хватает?

редактировать Следует отметить, что оба сайта работают под управлением PHP.

После запуска httpd -S Я обнаружил, что расположение моего файла httpd-vhosts.conf было перемещено в /private/etc/apache2/other/httpd-vhosts.conf.

Вот что httpd -S сообщил:

[Tue Feb 07 12:51:37 2012] [warn] module php5_module is already loaded, skipping
httpd: Could not reliably determine the server's fully qualified domain name, using macshortname.local for ServerName
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server Site-A.com (/private/etc/apache2/other/httpd-vhosts.conf:17)
         port 80 namevhost Site-A.com (/private/etc/apache2/other/httpd-vhosts.conf:17)
         port 80 namevhost localhost (/private/etc/apache2/other/httpd-vhosts.conf:36)
Syntax OK

Как только я обнаружил, что редактирую неправильный httpd-vhosts.conf file мне удалось решить проблему.