如何重定向除一个以外的所有其他域?

时间:2013-06-20 12:25:49

标签: mod-rewrite

我有一个托管设置,我的主域名是 domain1.com 。将其他域列表添加为别名,例如 domain2.com domain3.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

1 个答案:

答案 0 :(得分:1)

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

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

如果要调试重写内容,最好使用日志记录。这样,您就可以逐步了解重写引擎内部实际发生的情况。您需要两个命令RewriteLogRewriteLogLevel,这也将在文档中进行深入解释。