我正在调试HTTP 301永久重定向的问题.经过快速测试后,似乎Safari在重启时清除了301s的缓存,但Firefox却没有.
IE,Chrome,Firefox和Safari什么时候清除301s的缓存?
更新:例如,如果我想重定向example1.com到example2.com,但我不小心将其设置为重定向到example3.com,这是一个问题.我可以纠正错误,但是example1.com在此期间访问过的任何人都会将错误的重定向缓存到example3.com,因此他们将无法访问example1.com或者example2.com直到他们的缓存被清除.经过调查,我发现,没有Cache-Control和Expires标题设置.不正确的301响应的标头将是这样的:
HTTP/1.1 301 Moved Permanently
Date: Wed, 27 Feb 2013 12:05:53 GMT
Server: Apache/2.2.21 (Unix) DAV/2 PHP/5.3.8
X-Powered-By: PHP/5.3.8
Location: http://example3.com/
Content-Type: text/html
Run Code Online (Sandbox Code Playgroud)
我自己的测试表明:
假设我的网站上有一个页面显示当月的媒体发布
http://www.mysite.com/mediareleases.aspx
由于进入*的原因很简单,因此必须为此页面提供一个查询字符串,其中包含当月的当前日期,以便生成此列表:
http://www.mysite.com/mediareleases.aspx?prevDays=18
因此我需要重定向客户端请求http://www.mysite.com/mediareleases.aspx到http://www.mysite.com/mediareleases.aspx?prevDays=whateverDayOfTheMonthItIs
我的问题是,如果我想谷歌索引没有查询参数的页面,我应该使用状态代码302或307来执行重定向吗?
两者都表明页面已经"暂时"移动 - 这就是我想要的,因为如果你理解我的话,页面每天都会"移动".
[*]我正在使用闭源.NET CMS的一个功能,所以我的双手并列.