2

我在 .htaccess 文件中有此代码,可将 domain1.com 中的所有页面重定向到另一个域:

RewriteRule (.*) http://www.domain2.com/$1 [R=301,L]

但它不起作用。我用萤火虫检查了响应标头,但 Location 指令仍然有 domain1.com 而不是 domain2.com 。似乎并没有改变。我在某处读到某些服务器在规则中需要一个问号,但我不知道应该把它放在哪里。我的操作系统是 debian sqeeze,apache 版本是 2.2.16 。

编辑:这个问题导致一个循环,firefox给出:

The page isn't redirecting properly
Firefox has detected that the server is redirecting the request for this address in a way that will never complete.
*   This problem can sometimes be caused by disabling or refusing to accept
      cookies.

我的服务器在英镑服务器后面。

你能帮我吗?

4

2 回答 2

1

如果您要将所有流量重定向到域,那么我建议您使用Redirect. 它的效率远高于mod_rewrite. 特别是如果这是您唯一的RewriteRule.

Redirect permanent / http://www.domain2.com
于 2012-06-13T07:18:28.447 回答
0

两个域是否由同一个文档根服务?如果是这样,您需要在请求 domain2.com 时阻止它重定向:

RewriteCond %{HTTP_HOST} !domain2.com$ [NC]
RewriteRule (.*) http://www.domain2.com/$1 [R=301,L]
于 2012-06-13T07:30:30.123 回答