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

Apache 2.4: первая загрузка конфигурации VirtualHost для имен серверов других виртуальных хостов

У меня проблема с 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>

попробуйте указать определенный IP-адрес и порт в своем операторе прослушивания, а также в блоках виртуального хоста. Так положите:

listen 127.0.0.1:80

и в каждом вашем виртуальном хосте:

<virtualhost 127.0.0.1:80>

0 голосов против

Я нахожу ответ отсюда: http://alexking.org/blog/2007/11/01/apache-2-only- sizes-first-virtual-host

Поместите 2 имени сервера в один и тот же тег 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.