如何让 Chrome 停止缓存重定向(即使清除缓存后)?

如何让 Chrome 停止缓存重定向(即使清除缓存后)?

我有一个 URL,可以在隐身模式、Firefox、Safari 以及除原生 Chrome 之外的几乎任何其他浏览器上使用。如果我 curl 该 URL,它会返回 200。

无论出于什么原因,Chrome 都会缓存该 URL 的旧重定向。我尝试过彻底清除所有缓存和历史记录,但无济于事。

我该如何解决这个问题,还有什么我还可以做来测试为什么会发生这种情况?

答案1

建议:

1.为 URL 添加唯一后缀,这样可以避免缓存。示例:原始 URLhttp://google.com,将其更改为http://google.com?Hello=1或者http://google.com?Hello=2

2.使用 Chrome 内置的开发者工具并查看网络标签

答案2

事实证明,我使用了一个名为无处不在的 HTTPS它附带了有关如何将某些网站重定向到安全版本的规则。在我的例子中,HTTPS Everywhere 与我尝试访问的 Formstack url 匹配,并错误地将其重定向到错误的 url。

Formstack 规则中存在一个错误,会导致错误地重定向:

This: http://www.formstack.com/forms/?abc-123

To this: https://www.formstack.com/forms/forms/?abc-123

错误的规则如下:

Ruleset Path: /Users/MYUSER/Library/Application Support/Google/Chrome/Default/Extensions/gcbommkclmclpchllfjekcdonpmejbdp/2013.6.4_0/rules/default.rulesets

<ruleset f="Formstack.xml" name="Formstack (partial)">
    <target host="formstack.com"/>
    <target host="*.formstack.com"/>
    <exclusion pattern="^http://www\.formstack\.com/forms/$"/>
    <rule from="^http://(www\.)?formstack\.com/" to="https://$1formstack.com/forms/"/>
    <rule from="^http://blog\.formstack\.com/favicon\.ico$" to="https://www.formstack.com/favicon.ico"/>
    <rule from="^http://(?:blog\.formstack\.com/wp-content/themes/fontstack-theme|support.formstack.com/assets)/images/bg\.jpg$" to="https://www.formstack.com/assets/images/bg.jpg"/>
</ruleset>

要修复此问题,请更改此行:

<rule from="^http://(www\.)?formstack\.com/" to="https://$1formstack.com/forms/"/>

到:

<rule from="^http://(www\.)?formstack\.com/" to="https://$1formstack.com/"/>

更新规则后,只需禁用然后禁用扩展,它就会立即生效。

我不确定为什么排除模式与我的网址不匹配,但无论如何,上述修复对我来说是有效的。如果我有时间,我可能会将其提交回项目。

希望这可以帮助!

答案3

我是这样做的:

  1. 打开 chrome 开发者工具(按 F12)
  2. 导航至“网络”选项卡
  3. 勾选“禁用缓存”复选框

只要开发人员工具处于打开状态,重定向缓存就会被禁用。

相关内容