Lorsque vous utilisez des hôtes virtuels nommés, la première configuration d’hôte virtuel chargée sera la configuration par défaut (Source: Apache Wiki ). Par exemple, avec la configuration ci-dessous, sinon les domaines non appariés 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 possèdent pas de fichier de configuration monolithique, mais 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 charger en premier une configuration particulière de l'hôte virtuel, renommez le lien symbolique en quelque chose qui sera premier lorsqu'il sera trié, tel que 00-default
.
Certaines des autres réponses ne sont pas tout à fait correctes. Selon le wiki Apache, ne pas définir un ServerName
hôte virtuel est incorrect. Si l'hôte sans a ServerName
n'est pas chargé en premier, Apache pourrait même ne jamais l'utiliser, car le premier hôte chargé serait celui par défaut.
En outre, ServerAlias *
bien qu’il corresponde à tout, il peut également remplacer d’autres hôtes virtuels définis ultérieurement. Peut-être que cette approche fonctionnerait si c'était toujours le dernier hôte virtuel à être défini (comme dans la configuration donnée dans la question), mais cela impliquerait d'ajouter une nouvelle directive et de changer l'ordre de tri au lieu de changer simplement l'ordre comme ci-dessus.