Khi sử dụng máy chủ ảo dựa trên tên, cấu hình máy chủ ảo đầu tiên được tải sẽ là mặc định (Nguồn: Apache Wiki ). Ví dụ: với cấu hình bên dưới, các tên miền chưa từng có sẽ khớp với 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>
Nhiều máy chủ không có tệp cấu hình nguyên khối, nhưng có một số tệp cấu hình dành riêng cho máy chủ được tổ chức như sau:
/etc/apache2
|-- sites_available (actual configuration files)
`-- sites_enabled (symlinks to files in sites_available)
Trong trường hợp này, để thực hiện tải cấu hình máy chủ ảo cụ thể trước tiên, hãy đổi tên liên kết tượng trưng thành thứ gì đó sẽ là đầu tiên khi được sắp xếp, chẳng hạn như 00-default
.
Một số câu trả lời khác không hoàn toàn chính xác. Theo Wiki Wiki, không đặt ServerName
máy chủ ảo là không chính xác. Nếu máy chủ không có ServerName
tải không được tải trước, Apache thậm chí có thể không bao giờ sử dụng nó, vì máy chủ đầu tiên được tải sẽ là mặc định.
Hơn nữa, trong khi ServerAlias *
thực sự sẽ phù hợp với bất cứ điều gì, nó cũng có thể ghi đè các máy chủ ảo khác được xác định sau. Có thể cách tiếp cận này sẽ hoạt động nếu nó luôn là máy chủ ảo cuối cùng được xác định (như trong cấu hình được đưa ra trong câu hỏi), nhưng điều này có nghĩa là thêm một lệnh mới và thay đổi thứ tự sắp xếp thay vì chỉ thay đổi thứ tự như trên.