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

Mod rewrite 如何重定向除一个域之外的所有其他域?,mod-rewrite,Mod Rewrite,我有一个主机设置,我的主要域名是domain1.com。另一个域的列表作为别名添加,比如domain2.com和domain3.com。例如,当访问domain2.com时,浏览器中的URL仍然是domain2.com,但我希望将其作为我的主域 因此,我想将请求重定向到除domain1.com到domain1.com之外的所有其他域。如何使用重写引擎执行此操作 我在试这个: RewriteEngine On RewriteCond %{HTTP_HOST} !^(www.)?domain1.co

我有一个主机设置,我的主要域名是domain1.com。另一个域的列表作为别名添加,比如domain2.com和domain3.com。例如,当访问domain2.com时,浏览器中的URL仍然是domain2.com,但我希望将其作为我的主域

因此,我想将请求重定向到除domain1.com到domain1.com之外的所有其他域。如何使用重写引擎执行此操作

我在试这个:

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

它工作正常,只是我希望domain2.com/folder重定向到domain1.com/folder。

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

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

如果您想调试重写内容,一个好的实践是使用日志记录。这样,您就可以一步一步地准确地了解重写引擎中实际发生的事情。您需要两个命令
RewriteLog
RewriteLogLevel
,这在文档中也有详细说明

只要阅读有关重写模块的详细手册,就可以了!使用
RewriteCond
规则。是的,但我不确定如何编写符合我要求的重写条件。我真的不知道问题出在哪里。。。好吧,我建议,到目前为止发布您的尝试。我只是意识到您甚至不需要这样的规则,因为不同(虚拟)主机中需要不同的重定向规则。所以您不需要异常…所有域都在同一虚拟主机中。这就是我需要重写的原因。请看我上面的例子。