Apache 2.4: первая загрузка конфигурации VirtualHost для ServerNames других vhosts
У меня проблема с VirtualHosts, который Apache 2.4.
Если я перейду на ty1.dev, я получу сайт для af2.dev
Если бы это был Apache 2.2, все, что мне нужно было бы добавить, это NameVirtualHost *:80
но игнорируется в 2.4.
error.log не сообщает о проблемах
Что я пропустил?
# httpd-vhosts.conf
<VirtualHost *:80>
ServerName af2.dev
ServerAlias af2.dev
ServerAdmin user@host.dev
DocumentRoot "c:/Users/Adam.Adam-PC/Sites/af2/web"
<Directory c:/Users/Adam.Adam-PC/Sites/af2/web>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName ty1.dev
ServerAlias ty1.dev
ServerAdmin user@host.dev
DocumentRoot "c:/Users/Adam.Adam-PC/Sites/ty1"
<Directory c:/Users/Adam.Adam-PC/Sites/ty1>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
</VirtualHost>
2 ответа
Решение
Попробуйте указать конкретный ip и порт в вашем операторе прослушивания, а также в блоках виртуального хоста. Итак, поставьте:
listen 127.0.0.1:80
и в каждом вашем виртуальном хосте:
<virtualhost 127.0.0.1:80>
0 голосов вниз
Я нахожу ответ отсюда: http://alexking.org/blog/2007/11/01/apache-2-only-serves-first-virtual-host
Поместите 2 servername в тот же тег 1 VirtualHost, как показано ниже:
<VirtualHost *:80>
ServerName beta-site-1.com
DocumentRoot “/Library/WebServer/beta-site-1”
ServerName beta-site-2.com
DocumentRoot “/Library/WebServer/beta-site-2”
</VirtualHost>
У меня возникли проблемы со вторым сайтом, потому что у меня было два блока тегов VirtualHost.