Firefox 5'缓存'301重定向

max*_*axp 89 firefox

有没有办法禁用这个'功能'?

例如,如果对http://localhost/foo.html我已经指定为根地址的'301'的请求,所有后续foo.html完全绕过Web服务器的请求和ffox 5将检查它的缓存,请读取此URL是先前的"301"并且重定向甚至没有检查更改.

如果我已经停止foo.html了301',我必须清除firefox的缓存以便"修复"这种情况发生.

Chrome,IE和以前版本的Firefox不会这样做.

Ste*_*ish 110

在Firefox中,如果你有"web开发者"工具栏插件.您可以单击禁用 - >禁用缓存 - >每次检查新版本的页面.然后重新加载URL,它将刷新您的缓存.因此,您无需清除完整缓存.

从cptstubing06的评论中,以下内容可以帮助清除缓存:

  1. 键入Ctrl+l以将光标放在位置栏上.
  2. 键入about:config以打开配置设置.
  3. 确认任何警告.
  4. 键入browser.cache后跟Enter过滤设置.
  5. 双击browser.cache.check_doc_frequency.
  6. 将值更改31.
  7. 点击OK.
  8. 重新访问过时的缓存301页面.
  9. 完成后将频率重置为3.

Firefox现在应该重定向到新的301页面,不再从缓存中获取重定向的页面.

  • 请注意 - 如果你希望firefox为你的重定向URL更新*它的缓存,你可以使用`Web Developer Extension`暂时控制firefox的更改行为*总是*检查新版本,然后将其设置回你的正常设定.这是在Web Develoepr扩展 - >禁用 - >禁用缓存 - >检查更新版本的页面 - >每次检查更新版本的页面. (5认同)
  • 这对我来说是一个很好的解决方案 - 我*希望*99%的时间在缓存301,但一旦蓝色,我可能需要更改重定向的位置,并且不想清除我的整个缓存.为了澄清一下,Firefox在工具下带有自己的`Web Developer`菜单,而不是插件.插件也称为"Web Developer",但在"工具"菜单中显示为"Web Developer Extension",可在此处下载:https://addons.mozilla.org/en-us/firefox/addon/web-developer /. (3认同)

Bor*_*sky 44

301只是普通的可缓存响应代码. http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.2说:

This response is cacheable unless indicated otherwise. 
Run Code Online (Sandbox Code Playgroud)

因此,如果您不希望缓存它,您的服务器需要通过用于控制缓存行为的常规标头来指示.

您也可以手动清除缓存.

  • @Boris Zbarsky:问题不在于"如何清除缓存"而不是"如何防止缓存写入首先发生"? (21认同)
  • 它很糟糕,因为即使你知道它是错误的,你也不能"转移 - 重新加载"重定向.其他所有错误的缓存资源都可以单独重新加载,但不能重新加载这些该死的重定向. (16认同)
  • 我相信使用302会更直接,默认情况下不可缓存. (7认同)
  • 问题肯定是"我如何让自己不必清除缓存"给我! (4认同)

Cha*_*naz 24

我刚遇到这个问题,对我来说这是两个问题.

此特定域名通过Cloudflare路由,因此我必须将其设置为开发模式.我认为Cloudflare正在缓存301重定向,因此它不必将请求发送到服务器.此步骤可能不适用于您.

然后,我只需清除我的Firefox缓存(版本11),方法是转到工具 - >选项,单击右上角的"高级"按钮,选择"网络"选项卡,然后单击"缓存的Web内容"部分下的"立即清除".请注意我的缓存已设置为0,但我仍然需要单击"立即清除"按钮以使重定向停止缓存.

我有兴趣知道是否有其他人可以验证这一点.

  • +1.关于清除Firefox缓存的说明确实为我(作为用户/客户端,而不是网站所有者)修复了这个特定的URL,其中Firefox没有更新301.谢谢. (2认同)

Mal*_*ous 9

我找到了一个适用于Firefox 26的解决方案,在过时的重定向缓存超过一个月并重新启动之后.

  1. 在历史记录菜单上,选择显示所有历史记录.
  2. 在搜索中,键入包含缓存重定向问题的域以显示结果列表.
  3. 右键单击其中一个,然后选择"忘记此站点".

仅从该缓存中删除针对该站点的所有缓存页面,图像和重定向.这使您可以清除开发网站的重定向,而无需清除其余的缓存.

作为旁注,我认为Firefox最多只能缓存重定向几天.将它们缓存超过一个月可能会使一个简单的错误成为一个大问题.

  • 这有效,但请注意"忘记此站点"也会忘记URL历史记录(用于自动完成),甚至还会保存整个域的密码.可能不是你想要的. (2认同)

Cos*_*sta 5

一个快速解决方法是使用私人浏览器窗口.


Rya*_*ose 5

最近版本的Firefox中内置的开发人员工具为此提供了解决方案.首先,在开启开发窗格时关闭缓存:

  • 在任何页面上,点击F12以显示开发人员工具
  • 在最右侧,单击齿轮图标"工具箱选项"
  • Advanced Settings检查选项Disable Cache (when toolbox is open)

现在,只要您想强制刷新缓存页面,就可以打开F12 dev工具箱来加载/刷新页面.Firefox将绕过缓存并从服务器获取新数据.

我更喜欢这种方法,因为它不会改变浏览器对"正常"非调试浏览的行为方式,也不会忘记将全局设置恢复为原始值.

在Firefox 39中验证

  • 它对缓存重定向没有帮助。 (2认同)