我只能看到按字母顺序排列的第一个网站

我只能看到按字母顺序排列的第一个网站

我有 3 个子域网站。它们是 subdomain1.mydomain.com、subdomain2.mydomain.com、subdomain3.mydomain.com。我已将它们指向外部 IP 地址。bind 正常,dig 出现错误,Apache2 重新加载正常

1.) 如果我设置以下内容,我只能看到按字母顺序排列的第一个。

NameVirtualHost *:80    
<VirtualHost *:80>    
   ServerName subdomain1.mydomain.com
...    
<VirtualHost *:80>    
   ServerName subdomain2.mydomain.com
...

2.) 如果我设置了以下内容,则会找不到文件。Apache2 重新加载成功。

NameVirtualHost mydomain.com:80    
<VirtualHost mydomain.com:80>    
   ServerName subdomain1.mydomain.com
...
<VirtualHost mydomain.com:80>    
   ServerName subdomain2.mydomain.com

请帮忙!我还应该做什么。

答案1

你应该有以下内容:

NameVirtualHost IP:80

<VirtualHost IP:80>
  ServerName subdomain1.mydomain.com
  ...
</VirtualHost>

<VirtualHost IP:80>
  ServerName subdomain2.mydomain.com
  ...
</VirtualHost>

* 更新 *

基于名称的虚拟主机支持 - Apache HTTP 服务器

答案2

http://wiki.apache.org/httpd/CommonMisconfigurations

您的第一个代码示例是正确的。您应该使用通配符,例如NameVirtualHost *:80<VirtualHost *:80>,否则您无法从同一台机器可靠地测试它。

从您的评论中:

我的意思是我用另外一个IP地址从外网浏览。

您必须使用 DNS 名称(或 hosts 文件条目,或定义 HOST 标头)进行测试

相关内容