Saat menggunakan host virtual berbasis nama, konfigurasi host virtual pertama yang dimuat akan menjadi default (Sumber: Apache Wiki ). Misalnya, dengan konfigurasi di bawah ini, domain yang tidak cocok akan cocok dengan 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>
Banyak server tidak memiliki file konfigurasi monolitik, tetapi memiliki beberapa file konfigurasi khusus host yang diatur sebagai berikut:
/etc/apache2
|-- sites_available (actual configuration files)
`-- sites_enabled (symlinks to files in sites_available)
Dalam hal ini, untuk membuat beban konfigurasi host virtual tertentu terlebih dahulu, ganti nama symlink ke sesuatu yang akan menjadi yang pertama saat diurutkan, seperti 00-default
.
Beberapa jawaban lain tidak sepenuhnya benar. Menurut Wiki Apache, pengaturan ServerName
di host virtual tidak benar. Jika host tanpa sebuah ServerName
tidak dimuat terlebih dahulu, Apache mungkin bahkan tidak pernah menggunakannya, karena host pertama yang dimuat akan menjadi default.
Selain itu, walaupun ServerAlias *
memang akan cocok dengan apa pun, itu juga dapat menimpa host virtual lain yang ditentukan kemudian. Mungkin pendekatan ini akan berhasil jika selalu menjadi host virtual terakhir yang didefinisikan (seperti dalam konfigurasi yang diberikan dalam pertanyaan), tetapi ini berarti menambahkan arahan baru dan mengubah urutan sortir alih-alih hanya mengubah urutan seperti di atas.