Eu tenho o servidor Apache2 rodando no Debian 9. E eu 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 até dev.domain.sk
ele está ok , mas se eu for test.dev.domain.sk
vai mostrar conteúdo de dev.domain.sk
e não conteú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 resolvê-lo?
O problema é que você está usando a
ServerName
diretiva duas vezes com o mesmo nome.ServerName
deve ser exclusivo para cada host virtual. Você não precisaServerAlias
no seu exemplo. Aqui está um exemplo do que estou falando: