Apache2: Virtualhost muestra el contenido de otro virtualhost

Apache2: Virtualhost muestra el contenido de otro virtualhost

Tengo un servidor Apache2 ejecutándose en Debian 9. Y tengo 2 configuraciones de host virtual en /etc/apache2/sites-enabled/la carpeta.

Primero:

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>

El problema es que si voy dev.domain.skesOK, pero si voy a test.dev.domain.skél se mostrará el contenido de dev.domain.skynocontenido de test.dev.domain.sk. Si desactivo la primera configuración de virtualhost, veo el contenido de test.dev.domain.sk, por lo que parece dev.domain.sk"anularlo" test.dev.domain.sk, ¿cómo puedo resolverlo?

Respuesta1

El problema es que estás usando la ServerNamedirectiva dos veces con el mismo nombre. ServerNamedebe ser único para cada host virtual. No lo necesitas ServerAliasen tu ejemplo. Aquí hay un ejemplo de lo que estoy hablando:

<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>

información relacionada