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.

Другие вопросы по тегам