Apache 忽略了我的主要 VirtualHost 条目的 ServerName 和 ServerAlias。
我的场景:
- main domain is "one.com" (just an example)
- secondary domains are several, pointing to the same IP of "one.com", but they need
to be in a different VirtualHost entry, so I can redirect to "one.com" using PHP
(I want to log redirects).
所以我做了:
<VirtualHost 208.1.2.3:80>
DocumentRoot /sites/redir
ErrorLog logs/redir-error_log
CustomLog logs/redir-access_log common
ErrorDocument 404 /index.php
</VirtualHost>
<VirtualHost 208.1.2.3:80>
DocumentRoot /sites/main
ServerName one.com
ServerAlias www.one.com
DirectoryIndex index.html index.php
ErrorLog logs/main-error_log
CustomLog logs/main-access_log common
</VirtualHost>
由于优先级,任何与 one.com 不同的域都将使用第一个条目,即没有 ServerName 或 ServerAlias。
问题:所有请求都转到第一个条目,包括 one.com 和 www.one.com 导致无限循环的原因,因为我的 PHP 脚本重定向到 one.com。如果我反转块,所有请求都会转到“主”条目......
我需要的是 one.com 和 www.one.com 在 /sites/main 中运行,而任何其他域都转到 /sites/redir 以重定向到“one.com”条目。
有任何想法吗?
谢谢你。阿维