Apache2 - Virtualhost mostra conteúdo de outro virtualhost

Apache2 - Virtualhost mostra conteúdo de outro virtualhost

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

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 dev.domain.skéOK, mas se eu for, test.dev.domain.skele mostrará o conteúdo dev.domain.skenãoconteúdo de test.dev.domain.sk. Se eu desabilitar a primeira configuração do virtualhost, vejo o conteúdo de test.dev.domain.sk, então parece dev.domain.sk"substituir" isso test.dev.domain.sk, como posso resolver isso?

Responder1

O problema é que você está usando a ServerNamediretiva duas vezes com o mesmo nome. ServerNamedeve ser exclusivo para cada host virtual. Você não precisa ServerAliasdo 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>

informação relacionada