我刚刚使用像domain.com这样的域名设置了网站。然后设置另一个网站sub.domain.com。 现在可以通过ipv4访问它们。然后我添加了ipv6地址[a:b :: c:d]。但是,当我重新启动httpd服务时,出现以下消息:
[warn] VirtualHost a:b :: c:d:80与VirtualHost重叠a:b :: c:d:80, 第一个有优先权,也许你需要一个NameVirtualHost 指令。
我现在只能通过ipv6而不是sub.domain.com访问domain.com。但是,不知何故,我可以通过ipv6访问domain.com/sub。我似乎ipv6地址不能像apache中的ipv4地址那样对待。我想知道如何配置apache以按照我的意愿行事。
我的httpd.conf文件中有以下几行:
Listen 1.2.3.4:80
Listen [a:b::c:d]:80
<VirtualHost 1.2.3.4:80>
DocumentRoot /var/www/html
ServerName domain.com
ErrorLog "/var/www/logs/error.log"
CustomLog "/var/www/logs/access.log" common
</VirtualHost>
<VirtualHost [a:b::c:d]:80>
DocumentRoot /var/www/html
ServerName domain.com
ErrorLog "/var/www/logs/ipv6_error.log"
CustomLog "/var/www/logs/ipv6_access.log" common
</VirtualHost>
<VirtualHost 1.2.3.4:80>
DocumentRoot /var/www/html/sub
ServerName sub.domain.com
ErrorLog "/var/www/logs/sub_error.log"
CustomLog "/var/www/logs/sub_access.log" common
</VirtualHost>
<VirtualHost [a:b::c:d]:80>
DocumentRoot /var/www/html/sub
ServerName sub.domain.com
ErrorLog "/var/www/logs/sub6_error.log"
CustomLog "/var/www/logs/sub6_access.log" common
</VirtualHost>
答案 0 :(得分:0)
正如Jeremy Visser所说,我搜索了配置文件并找到了以下行:
NameVirtualHost 1.2.3.4:80
这似乎是问题所在。然后我添加了这一行:
NameVirtualHost [a:b::c:d]:80
问题解决了!