1

我有一个托管设置,我的主域是domain1.com。另一个域的列表被添加为别名,例如domain2.comdomain3.com。例如,当访问domain2.com时,浏览器中的 URL 仍然是 domain2.com,但我希望它是我的主域。

因此,我想将请求重定向到除 domain1.com 到 domain1.com 之外的所有其他域。如何使用RewriteEngine做到这一点?

我正在尝试这个:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www.)?domain1.com$ [NC]
RewriteRule .* http://www.domain1.com/$1 [L,NC]

它工作正常,除了我希望domain2.com/folder重定向到domain1.com/folder

4

1 回答 1

2

好的,如果您的设置工作正常,除了在重写过程中忽略 url 路径的问题,那么我建议您根据规则中的要求添加括号:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www.)?domain1.com$ [NC]
RewriteRule (.*) http://www.domain1.com/$1 [L,NC]

如果你想调试重写的东西,一个好的做法是使用日志记录。这样,您就可以逐步准确地了解重写引擎内部实际发生的情况。您需要这两个命令RewriteLogRewriteLogLevel,这在文档中再次进行了深入解释。

于 2013-06-20T14:55:17.807 回答