Di LAN kami, saya telah menyiapkan beberapa TLD 'palsu' di server DNS, dengan tujuan menggunakannya untuk hosting virtual berbasis nama Apache. Saya ingin menggabungkan ini dengan hosting massal virtual (mis. VirtualDocumentRoot) pada server Ubuntu 10,04 LAMP.
Namun, saya tidak bisa mendapatkannya untuk memilih vhost yang tepat!
Berikut ini ringkasan konfigurasi 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>
Nama host seperti www.domain.com.dev , diputuskan dengan benar menjadi 10.10.0.205, tetapi selalu memilih vhost teratas, bukan yang bawah, yang cocok lebih dekat.
Saya mendapat kesan bahwa Apache pertama kali akan mencoba untuk mencocokkan ServerName sebelum default ke vhost atas untuk IP yang diberikan. Apa yang saya lakukan salah? Atau ini tidak mungkin dan haruskah saya menggunakan IP lain untuk setiap TLD?
apachectl -S output (dipangkas):
10.10.0.205:* is a NameVirtualHost
default server *.test
port * namevhost *.test
port * namevhost *.dev
sumber
Jika ini bisa membantu, cukup dengan melengkapi sedikit jawaban Mo:
Wildcard di ServerAlias juga berfungsi pada sebagian nama domain, seperti
ServerName somename.dev
ServerAlias *-mysite.dev
Ini menyelamatkan hidup saya baru-baru ini ^^ (situs utama dengan subdomain untuk masing-masing sub aplikasi seperti
admin-somename.dev
,bo-somename.dev
,api-somename.dev
...)sumber