Pregunta:
En nuestra LAN, configuré varios TLD 'falsos' en el servidor DNS, con la intención de usarlos para el alojamiento virtual basado en nombres de Apache. Me gustaría combinar esto con el alojamiento virtual masivo (es decir, VirtualDocumentRoot) en un servidor LAMP de Ubuntu 10.04.
Sin embargo, ¡no puedo hacer que seleccione el vhost correcto!
Aquí hay un resumen de la configuración de Apache:
NameVirtualHost 10.10.0.205
<VirtualHost 10.10.0.205>
ServerName *.test
VirtualDocumentRoot /var/www/%-3.0.%-2/test/%1/
CustomLog /var/log/apache2/access.log vhost_combined
</VirtualHost>
<VirtualHost 10.10.0.205>
ServerName *.dev
VirtualDocumentRoot /var/www/%-3.0.%-2/dev/%1/
CustomLog /var/log/apache2/access.log vhost_combined
</VirtualHost>
Un nombre de host como www.domain.com.dev , se resuelve correctamente como 10.10.0.205, pero siempre selecciona el vhost superior, en lugar del inferior, que coincide más estrechamente.
Tenía la impresión de que Apache primero intentaría hacer coincidir el nombre del servidor antes de establecer de forma predeterminada el vhost superior para una IP determinada. ¿Qué estoy haciendo mal? ¿O esto no es posible y debo usar otra IP para cada TLD?
apachectl -S salidas (recortado):
10.10.0.205:* is a NameVirtualHost
default server *.test
port * namevhost *.test
port * namevhost *.dev
Respuesta:
Utilice ServerAlias
, en lugar de ServerName
solo:
ServerName somename.dev
ServerAlias *.dev