Trên mạng LAN của chúng tôi, tôi đã thiết lập một số TLD 'giả' trong máy chủ DNS, với mục đích sử dụng chúng cho lưu trữ ảo dựa trên tên Apache. Tôi muốn kết hợp điều này với lưu trữ ảo hàng loạt (ví dụ VirtualDocumentRoot) trên máy chủ LAMP Ubuntu 10.04.
Tuy nhiên, tôi không thể lấy nó để chọn đúng vhost!
Dưới đây là tóm tắt về cấu hình 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>
Tên máy chủ như www.domain.com.dev , phân giải chính xác thành 10.10.0.205, nhưng luôn chọn vhost hàng đầu, thay vì tên dưới cùng, phù hợp hơn.
Tôi có ấn tượng rằng trước tiên Apache sẽ cố gắng khớp với Tên máy chủ trước khi mặc định là vhost hàng đầu cho một IP nhất định. Tôi đang làm gì sai? Hoặc điều này là không thể và tôi phải sử dụng một IP khác cho mỗi TLD?
đầu ra apachectl -S (cắt xén):
10.10.0.205:* is a NameVirtualHost
default server *.test
port * namevhost *.test
port * namevhost *.dev