Apache: apunta dominios y subdominios dinámicos de VirtualHost a diferentes carpetas

Apache: apunta dominios y subdominios dinámicos de VirtualHost a diferentes carpetas

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

Dominios comocarpeta.sitio.comp1.office1.lanresuelve correcto ( /var/www/site/folder/). Pero al solicitarsitio.comp1.office1.lanRecibo el error 404.

Y Apache registra esta línea:

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

Si cambio el orden de carga de VirtualHosts (el segundo se carga antes que el primero), entoncessitio.comp1.office1.lanFunciona bien, pero el problema con la respuesta 404 va acarpeta.sitio.comp1.office1.lan.

Respuesta1

Normalmente no usarías comodines en la entrada ServerName para un vhost; en su lugar, normalmente los colocarías en una directiva ServerAlias. Prueba por ejemplo

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

Es posible que tengas que configurar ServerName para que todos sean diferentes y que los nombres de vhost coincidan con ServerAlias.

información relacionada