Мне сложно запустить виртуальные хосты на моей локальной машине разработки 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 мне удалось решить проблему.