Apache 2.2.3 运行大量虚拟主机(归结为 3 个 Zope 实例),配置在单独的文件中。运行良好,但有一个例外:将 mydomain.net 重定向到 www.mydomain.com作品,而 www.mydomain.net 则为 www.mydomain.com不起作用。
目前这两个的配置文件如下所示:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName mydomain.net
Redirect permanent / http://www.mydomain.com/
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.mydomain.net
Redirect permanent / http://www.mydomain.com/
</VirtualHost>
我之前有一个带有 ServerAliases 的单个 vhost,并且使用了 RedirectRule,但它也不起作用。
/usr/sbin/apache2 -S 现在告诉我:
...
port 80 namevhost mydomain.net (/etc/apache2/common-file.conf:1)
port 80 namevhost www.mydomain.net (/etc/apache2/common-file.conf:25)
Syntax OK
所有虚拟主机都有一个 :1,唯一的例外是无效的重定向。我该如何理解这些信息;我该如何调试它?
答案1
尝试将您的配置更改为此并查看
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName mydomain.net
ServerAlias www.mydomain.net
Redirect permanent / http://www.mydomain.com/
</VirtualHost>
答案2
我仔细查看了一下,找到了原因:ServerAlias www.mydomain.net 出现在两个虚拟主机中(一个在正确,另一个在正确)。删除错误的条目解决了问题。
因此,Apache 似乎并不关心此类冲突;您不能依赖未检测到异常的虚拟主机转储运行。