对不起,如果答案是在其他地方,但我确实搜索过,并没有遇到这个问题。我想使用301将www重定向到非www,这是我正在使用的代码。
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
它有点工作..如果你输入www.exaple.com它不起作用,但如果你刷新页面那么它确实有效。
有谁知道这里发生了什么?
谢谢!
答案 0 :(得分:1)
规则正常,您的问题是使用R=301
(永久重定向),它会告诉浏览器积极地缓存重定向的网址。
当您在浏览器中强制刷新时,只有浏览器请求会转到Web服务器,否则它会从其缓存中提供内容。
作为一般做法,在测试R=301
规则时应避免使用mod_rewrite
(永久重定向)。