我有一个 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
我是这样做的:
- 打开 chrome 开发者工具(按 F12)
- 导航至“网络”选项卡
- 勾选“禁用缓存”复选框
只要开发人员工具处于打开状态,重定向缓存就会被禁用。