Apache: aponte domínios e subdomínios dinâmicos do VirtualHost para pastas diferentes

Apache: aponte domínios e subdomínios dinâmicos do VirtualHost para pastas diferentes

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 comopasta.site.comp1.office1.lanresolve correto ( /var/www/site/folder/). Mas ao solicitarsite.comp1.office1.lanRecebo 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 dos VirtualHosts (o segundo carrega antes do primeiro), entãosite.comp1.office1.lanDeus funciona, mas o problema com a resposta 404 vai parapasta.site.comp1.office1.lan.

Responder1

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

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

Talvez seja necessário configurar ServerName para que sejam todos diferentes e que os nomes de vhost correspondam ao ServerAlias.

informação relacionada