ใน LAN ของเราฉันได้ตั้งค่า TLD 'ปลอม' หลายตัวในเซิร์ฟเวอร์ DNS โดยมีความตั้งใจที่จะใช้พวกเขาสำหรับการโฮสต์เสมือนที่ใช้ชื่อ Apache ฉันต้องการรวมสิ่งนี้กับ mass-virtual-hosting (เช่น VirtualDocumentRoot) บนเซิร์ฟเวอร์ Ubuntu 10.04 LAMP
อย่างไรก็ตามฉันไม่สามารถเลือก vhost ที่ถูกต้องได้!
นี่เป็นบทสรุปของการกำหนดค่า 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>
ชื่อโฮสต์เช่นwww.domain.com.devแก้ไขให้เป็น 10.10.0.205 อย่างถูกต้อง แต่จะเลือก vhost ด้านบนเสมอแทนที่จะเป็น vhost อันดับแรกซึ่งจะจับคู่อย่างใกล้ชิดยิ่งขึ้น
ฉันอยู่ภายใต้การแสดงผลที่ Apache จะพยายามจับคู่ ServerName ก่อนที่จะเริ่มต้นที่ vhost ด้านบนสำหรับ IP ที่กำหนด ผมทำอะไรผิดหรือเปล่า? หรือเป็นไปไม่ได้และฉันต้องใช้ IP อื่นสำหรับ TLD แต่ละอัน
apachectl -S เอาท์พุท (ตัด):
10.10.0.205:* is a NameVirtualHost
default server *.test
port * namevhost *.test
port * namevhost *.dev