Apache: aponte domínios e subdomínios virtuais do VirtualHost para diferentes pastas

1

Atualmente tenho 2 VirtualHosts:

<VirtualHost *:80>
 ServerName *.*.comp1.office1.lan
 VirtualDocumentRoot /var/www/%-4/%-5/
 UseCanonicalName Off
 <Directory /var/www/>
  Options Indexes FollowSymLinks -MultiViews
  AllowOverride All
  Order allow,deny
  allow from all
 </Directory>
</VirtualHost>
<VirtualHost *:80>
 ServerName *.comp1.office1.lan
 VirtualDocumentRoot /var/www/%-4/
 UseCanonicalName Off
 <Directory /var/www/>
  Options Indexes FollowSymLinks -MultiViews
  AllowOverride All
  Order allow,deny
  allow from all
 </Directory>
</VirtualHost>

Domínios como folder.site.comp1.office1.lan são corrigidos ( /var/www/site/folder/ ). Mas ao solicitar site.comp1.office1.lan eu recebo o erro 404.

E o apache registra esta linha:

[time...] [error] [client my.ip.there] File does not exist: /var/www/site/_

Se eu alterar a ordem de carregamento do VirtualHosts (o segundo carregamento é anterior ao primeiro), o site.comp1.office1.lan funciona, mas o problema com a resposta 404 vai para o folder.site. comp1.office1.lan .

    
por Arthur Halma 26.12.2013 / 09:14

1 resposta

2

Você normalmente não usaria curingas na entrada ServerName para um vhost, você normalmente os colocaria em uma diretiva ServerAlias. Tente por exemplo

ServerName comp1.office.lan
ServerAlias *.*.comp1.office.lan
...

Você pode ter que configurar o ServerName para que eles sejam todos diferentes e que os nomes do vhost correspondam ao ServerAlias.

    
por 26.12.2013 / 09:55