Sur notre réseau local, j'ai configuré plusieurs «faux» TLD dans le serveur DNS, avec l'intention de les utiliser pour l'hébergement virtuel basé sur le nom Apache. Je voudrais combiner cela avec un hébergement virtuel de masse (c'est-à-dire VirtualDocumentRoot) sur un serveur Ubuntu 10.04 LAMP.
Cependant, je n'arrive pas à sélectionner le bon vhost!
Voici un résumé de la configuration 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 nom d'hôte tel que www.domain.com.dev , se résout correctement en 10.10.0.205, mais sélectionne toujours le vhost supérieur, au lieu du dernier, qui correspond plus étroitement.
J'avais l'impression qu'Apache essaierait d'abord de faire correspondre le ServerName avant de passer par défaut au vhost supérieur pour une IP donnée. Qu'est-ce que je fais mal? Ou n'est-ce pas possible et dois-je utiliser une autre IP pour chaque TLD?
Sorties apachectl -S (découpées):
10.10.0.205:* is a NameVirtualHost
default server *.test
port * namevhost *.test
port * namevhost *.dev
la source
Si cela peut aider, juste pour compléter un peu la réponse de Mo:
Les caractères génériques dans ServerAlias fonctionnent également sur les noms de domaine partiels, tels que
ServerName somename.dev
ServerAlias *-mysite.dev
Il m'a sauvé la vie récemment ^^ (un site principal avec des sous - domaines pour chaque sous application tels que
admin-somename.dev
,bo-somename.dev
,api-somename.dev
...)la source