Apache2 - Virtualhost mostra o conteúdo de outro virtualhost

1

Eu tenho o servidor Apache2 rodando no Debian 9. E eu tenho 2 configurações de virtualhost na pasta /etc/apache2/sites-enabled/ .

Primeiro:

Options FollowSymLinks

<Directory "/srv/">
        Options FollowSymLinks ExecCGI
        Require all granted
</Directory>

<Directory "/srv">
        Options FollowSymlinks ExecCGI
        Require all granted
</Directory>

<VirtualHost *:80>
       ServerName domain.sk
       ServerAlias dev.domain.sk
       DocumentRoot /srv/domain.sk/!www
       <Directory /srv/domain.sk/!www>
                Options Indexes FollowSymlinks ExecCGI
                AllowOverride All
       </Directory>
</VirtualHost>

Segundo:

Options FollowSymLinks

<Directory "/home/test/">
        Options FollowSymLinks ExecCGI
        Require all granted
</Directory>

<VirtualHost *:80>
       ServerName domain.sk
       ServerAlias test.dev.domain.sk
       DocumentRoot /home/test/domain.sk/!www
       <Directory /home/test/domain.sk/!www>
                Options Indexes FollowSymlinks ExecCGI
                AllowOverride All
       </Directory>
</VirtualHost>

O problema é que, se eu for para dev.domain.sk , é ok , mas se eu for para test.dev.domain.sk , ele mostrará conteúdo de dev.domain.sk e não de test.dev.domain.sk . Se eu desabilitar a primeira configuração virtualhost, então eu vejo o conteúdo de test.dev.domain.sk , então parece que dev.domain.sk "substitui" esse test.dev.domain.sk , como posso resolvê-lo?

    
por tomsk 21.02.2018 / 17:37

1 resposta

3

O problema é que você está usando a diretiva ServerName duas vezes com o mesmo nome. ServerName deve ser exclusivo para cada host virtual. Você não precisa de ServerAlias no seu exemplo. Aqui está um exemplo do que estou falando:

<VirtualHost *:80>
       ServerName dev.domain.sk
       DocumentRoot /srv/domain.sk/!www
       <Directory /srv/domain.sk/!www>
                Options Indexes FollowSymlinks ExecCGI
                AllowOverride All
       </Directory>
</VirtualHost>

<VirtualHost *:80>
       ServerName test.dev.domain.sk
       DocumentRoot /home/test/domain.sk/!www
       <Directory /home/test/domain.sk/!www>
                Options Indexes FollowSymlinks ExecCGI
                AllowOverride All
       </Directory>
</VirtualHost>
    
por 21.02.2018 / 17:48