我在.htaccess文件中有这个代码,用于将domain1.com中的所有页面重定向到另一个域:
RewriteRule (.*) http://www.domain2.com/$1 [R=301,L]
但它不起作用。我用firebug检查了响应头,但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.
我的服务器位于一台服务器后面。
你会帮我吗?答案 0 :(得分:1)
如果您要将所有流量重定向到域,那么我建议Redirect
。它比mod_rewrite
更有效率。特别是如果这是您唯一的RewriteRule
。
Redirect permanent / http://www.domain2.com
答案 1 :(得分:0)
这两个域是否都由同一个文档根服务?如果是这样,您需要阻止它在请求domain2.com时重定向:
RewriteCond %{HTTP_HOST} !domain2.com$ [NC]
RewriteRule (.*) http://www.domain2.com/$1 [R=301,L]