301重定向仅适用于刷新

时间:2013-11-27 10:53:52

标签: apache .htaccess redirect

对不起,如果答案是在其他地方,但我确实搜索过,并没有遇到这个问题。我想使用301将www重定向到非www,这是我正在使用的代码。

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

它有点工作..如果你输入www.exaple.com它不起作用,但如果你刷新页面那么它确实有效。

有谁知道这里发生了什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

规则正常,您的问题是使用R=301(永久重定向),它会告诉浏览器积极地缓存重定向的网址。

当您在浏览器中强制刷新时,只有浏览器请求会转到Web服务器,否则它会从其缓存中提供内容。

作为一般做法,在测试R=301规则时应避免使用mod_rewrite(永久重定向)。