Lorsque vous utilisez des hôtes virtuels basés sur le nom, le premier hôte virtuel chargée sera la configuration par défaut (Source : Apache Wiki ). Par exemple, avec la configuration ci-dessous, les domaines qui ne seraient pas appariés autrement correspondront à domain-one.com
:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName domain-one.com
# Other options and directives ..
</VirtualHost>
<VirtualHost *:80>
ServerName domain-two.com
# Other options and directives ..
</VirtualHost>
De nombreux serveurs ne disposent pas d'un fichier de configuration monolithique, mais ont des fichiers plusieurs fichiers de configuration spécifiques à l'hôte, organisés comme suit :
/etc/apache2
|-- sites_available (actual configuration files)
`-- sites_enabled (symlinks to files in sites_available)
Dans ce cas, pour faire en sorte qu'une configuration d'hôte virtuel particulière charge particulière, renommez le lien symbolique en quelque chose qui sera le premier trié, comme 00-default
.
Certaines des autres réponses ne sont pas tout à fait correctes. Selon l'étude Wiki Apache, ne pas fixer un ServerName
dans un hôte virtuel est incorrect. Si l'hôte sans ServerName
n'est pas chargé en premier, Apache pourrait ne jamais l'utiliser, puisque le premier hôte chargé serait par défaut.
En outre, alors que ServerAlias *
correspondra en effet à n'importe quoi, il peut également remplacer d'autres hôtes virtuels définis ultérieurement. Peut-être que cette approche fonctionnerait si c'est toujours le dernier l'hôte virtuel à définir (comme dans la configuration donnée dans la question), mais cela implique d'ajouter une nouvelle et changer l'ordre de tri au lieu de simplement changer le l'ordre comme ci-dessus.