redirects
(用于漂亮的URL)的Web应用程序。我正在尝试调试重定向工作方式的逻辑。但是,即使在我更改代码后,Google Chrome仍会记住重定向,即使重定向代码也是如此。
这使得排查非常困难。
例如,如果我重定向将
/this
更改为/that
,然后将我的代码更改为不再重定向/this
。 Google Chrome浏览器仍重定向到/that
。就像重定向被缓存一样。有办法关闭此功能吗?#1 楼
Google Chrome浏览器将缓存您的301重定向。要解决此问题并使标签保持打开状态,您只需要清除浏览器缓存即可。Chrome菜单>设置>显示高级设置...>隐私>单击清除浏览数据...
无论选择什么,请确保选中“缓存的图像和文件”。
然后单击清除浏览数据。并且应该可以再次进行测试。
如果您刚刚进行了重定向,则只需要删除过去一小时的数据即可。
或者,测试和开发在无痕模式下关闭浏览器后,缓存将刷新。
评论
最新版的chrome,此选项为“缓存的图片和文件”,而不是“清空缓存”
– Dan R
2014年8月7日在15:38
即使在隐身模式下,我也会不断重定向。
–盖亚
2014年9月21日在16:49
@Gaia是的,在Chrome隐身模式下似乎是问题所在。如果您只是在测试,则可能要使用Firefox。 Firefox私人浏览效果很好:)
–钱币
15年1月26日在14:19
请注意,HTTP 301是永久移动的,因此完全可以缓存响应。如果您不希望缓存响应,请尝试302或307。en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection
–用户
15年3月19日在14:01
键盘快捷键是Ctrl + Shift + Delete。
– 0xcaff
15/12/26在22:37
#2 楼
这是清除Chrome粘性存储器以进行重定向而不清除所有浏览数据(当前最佳答案所使用的方法)的肯定方法:打开“开发工具”面板(在Mac上为optioncommandi) ,或在Windows上为ctrlshifti)
并按住重新加载图标
将打开一个菜单
从此菜单中选择第三个选项(“空缓存和硬重载”)
这是对这三个选项之间的区别的很好的解释。 > PS:为避免每次Chrome跟随重定向后都必须执行这些步骤:选中在DevTools中禁用缓存,并在DevTools打开时,Chrome将绕过重定向缓存(根据此答案)
评论
顺便说一句:这在Mac上不可用。
– Arjan
2015年8月4日在10:15
这并不总是删除缓存的重定向
– Claudiu Creanga
2015年9月10日下午13:48
它在Mac上可用,但是只有在打开开发工具的情况下菜单才可用。我认为这在Windows上可能是相同的。
– Percy
15-10-28在13:48
@Arjan在Mac上可用,请参见superuser.com/questions/304589/…
–盖亚
15年10月28日在19:24
Mac OS X,优胜美地。使用http到https永久重定向进行战斗,只有此选项有效。其他所有内容,包括“禁用缓存(打开DevTools时)”,都没有影响。
– Carles Sala
17年2月11日在14:29
#3 楼
这不是一个完美的解决方案,但是通过传递假查询字符串或向现有查询字符串添加假参数,我能够阻止Chrome使用缓存的重定向。例如,在不带q查询字符串的URL末尾添加一个简单的?
可以在Max OS X的Chrome 30上为我工作。评论
是的,这有效。 example.com变成example.com?。我不是一堆最简单的
–fregante
2014年1月24日22:40
这是一个很棒的把戏。我假设您可以无限期使用?abc,?abc2等...
– brentonstrine
2014年5月12日20:36
这对我不起作用。即使使用其他端口(:8080),它也更改为https,这似乎是Chrome错误。
– jwadsack
17年2月21日在19:02
我已经在做同样的事情,但是它并不总是能正常工作,有时我需要按ctrl + shift + r(ctrl + f5)来获取较新版本的网页或页面中包含的部分页面
– Mohammad Kermani
17年4月30日在12:34
如果存在通配符缓存301,则这可能不起作用,因为它的“记住”功能是在TLD之后转发所有内容。
– dhaupin
17年5月22日在17:16
#4 楼
与此相关的是一个“错误修复” Chromium错误,这是预期的行为。
请注意:
您可以将缓存控制标头添加到301,然后我们将跟踪它们(过期等)
如果有问题的资源是子资源,则重新加载页面将导致服务器对重定向进行重新验证。 br />您不必丢失整个缓存。只需遵循重定向并删除最后一小时即可。
评论
什么是“删除最后一个小时”。手段?怎么做?
–MikaëlMayer
2015年6月10日在21:03
@MikaëlMayer单击“历史记录>清除浏览数据”时,您可以选择一个时间范围以删除数据(“过去一小时”,“过去一周”等)
– dbr
15年6月26日在13:16
没有..!清除网站的浏览数据不会删除301重定向行为。无论如何都不在Chromium 64.0.x中
–patricktokeeffe
18年2月4日在4:26
清除“ 1小时”可以使您退出所有Google产品和帐户。多么好的建议...
– Luciano Fantuzzi
18-2-25在19:21
>您不必丢失整个缓存。只需按照重定向操作并删除最后一个小时即可。这仍然比“删除最后一个重定向”更糟糕,后者是他们无法修复的功能。
–rox0r
18-2-27在17:53
#5 楼
如果您在DevTools中启用了“禁用缓存(打开DevTools时)”选项,那么只需打开DevTools就可以绕过重定向缓存,而无需不断地丢弃会话。评论
注意:如果devTools已打开,则有一种删除缓存的快速方法:右键单击刷新按钮,然后选择完全重新加载;)
–user65130
2014年11月21日在17:08
这并不总是有效。我删除了所有缓存并仍在重定向。仅在隐身模式下有效,您才能获得一致的行为
– Claudiu Creanga
2015年9月10日下午13:47
为什么这不是最佳解决方案?相比之下,其他人都太糟糕了!
–布赖恩
16年1月31日,下午1:26
不再起作用...可能在2014年起作用
–卢阁下。
16年9月1日在17:24
@LordLoh。我刚刚在最新版本的Chrome上进行了尝试,它的工作原理完全符合预期。关闭devtools后,将缓存重定向。在打开工具的情况下重新加载页面不会重定向。
–迈克·高斯曼(Mike Gossmann)
16年9月1日在18:58
#6 楼
Chrome会缓存HTTP重定向,如果重定向已更改,则会停止与网站进行检查。这可能令人沮丧,因为无法使用最简单的修复方法(访问站点并强制进行硬刷新),因为重定向将在访问链接之前发生。这是无法解决的问题。要解决此问题,您可以按照此处的说明清除浏览数据,也可以按照以下步骤操作,避免丢失历史记录。
打开Chrome开发者工具
单击设置
检查禁用缓存(打开DevTools时)
访问您想要的站点,缓存问题将得到解决。
评论
您也可以在网络标签上找到“禁用缓存”选项,这是相同的选项。对于调试重定向,我建议也使用“保留日志”。
–Trendfischer
2015年10月6日,12:07
#7 楼
转到chrome:// net-internals,然后在最右侧打开下拉菜单,然后选择“清除缓存”。从48版开始,这是唯一对我来说清除缓存301(永久重定向)的方法。更新:不幸的是,从71版(2018年12月)开始,Google删除了内部功能。
评论
在Chrome 56上运作
– spencer.sm
17年2月9日,0:13
仍可在Chrome 67上使用
– SCO
18年9月19日在8:15
无法在Chrome 71上使用。网络内部事件查看器和相关功能已删除。
–用户
18/12/16在7:42
#8 楼
要清除Chrome中单个页面的重定向缓存,请查看源代码并进行硬刷新(CTRL + SHIFT + R)
。这可以工作,因为源浏览器不会自动遵循301重定向。
评论
在Chrome 25中不适用于我
–旋转
13年3月20日在23:52
如果重定向适用于所有页面,则此方法不起作用。我有一个www。 ->没有www。重定向-重定向位于第一次点击时,因此我无法刷新任何内容。每次我尝试转到该页面刷新时,都会遵循301-太晚了!
–伊恩·格兰杰(Ian Grainger)
13年3月25日在11:12
@Ian如果在地址栏中输入view-source:www.example.com,该怎么办?这样可以让您刷新而无需重定向吗?
–马修·布莱克福德
13 Mar 26 '13 at 0:13
@MatthewBlackford AFAICT同样,我实际上得到了重定向页面的来源。尽管TBH,但不确定我的测试是否很好。我已删除浏览历史记录以“解决”此问题。
–伊恩·格兰杰(Ian Grainger)
13年3月26日在14:07
这仅适用于javascript和metatag重定向。仍然遵循HTTP重定向
–fregante
2014年11月26日15:46
#9 楼
.dev域被迫在Chrome 63+上使用HTTPS自Chrome 63自2017年12月起,所有以.dev(和.foo)结尾的域都被强制通过预加载的HTTP Strict Transport Security(HSTS)使用HTTPS标头。
此处有更多信息:https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/
评论
这肯定是我的罪魁祸首!我花了HOURS来弄清楚到底是怎么回事。感谢您发布!
–贾巴里
17年12月16日23:25
该答案需要更多票。发问者可能不是问题,但对于许多开发人员而言,在搜索结果中找到此答案将是问题。
–bp。
18年1月25日在7:41
神!谁会想到这样一个绝妙的主意!
– Pavel Niedoba
19年6月3日在20:12
#10 楼
在Chrome或Firefox中,您可以通过输入“ view-source:redirect.yoursite.com”并按Enter来刷新重定向。然后,刷新该页面。现在,这将强制Chrome或Firefox刷新重定向。评论
这是唯一对我有用的答案。
–JaredThirsk
18年3月3日在21:45
#11 楼
如此处所述可能是由HSTS引起的。要解决此问题,我执行了以下操作。在Chrome地址栏中,键入“ chrome:// net -internals /#hsts“在页面的最底部是QUERY域文本框-验证浏览器是否知道您的站点(例如localhost)
。如果是,则使用
您上方的文本框现在应该可以使用旧的HTTP
评论
嘿,谢谢。这确实有助于突然的https重定向缓存。
– Ruberoid
16年1月3日,17:46
#12 楼
如果您只想检查重定向是否按预期工作,则使用wget之类的命令行工具或类似工具可能会更容易。您可以检查响应头,并且不缓存重定向。#13 楼
出于开发目的,我建议您在Chrome中打开DevTools设置,然后选中“禁用缓存”。然后,不会缓存30x重定向,您可以调试.htaccess文件等等!评论
奇怪的是,该选项无济于事。我禁用了缓存,但是它仍然在网络选项卡301永久移动(来自磁盘缓存)中说。
– mgutt
17-10-25在13:34
这与打开“网络”选项卡时单击“禁用缓存”完全相同。不-不清除重定向。
– bshea
18年8月1日在15:13
#14 楼
我尝试了此页面上的所有答案,但在我在Windows命令行窗口上运行flushdns之前,都没有起作用。FYI,我已经按照此答案中的说明检查了
Disable cache
。 评论
这是关键答案,因为Windows使用了解析器缓存,而无需清除浏览器甚至卸载并重新加载浏览器都不会解决301重定向的问题,或者Windows解析器缓存中存储了错误的地址。这个答案做得很好,我希望人们首先阅读它,否则他们将浪费大量时间来寻找答案。
–克林顿
11月2日,22:02
#15 楼
转到
chrome://settings/search#clear%20browsing%20data
单击“清除浏览数据”
检查“缓存的图像和文件”(如果需要,请取消选中其余部分)
单击“清除浏览数据”
>
#16 楼
最简单的方法,硬刷新。按住Ctrl
+ R
几秒钟。这将清除重定向以及静态资源。评论
为什么要按住它而不是简单地按Ctrl + R?
–gronostaj
2015年10月1日在18:29
@gronostaj我的回答不是简单明了吗? 。如果没有保留,那将只是正常的刷新。不会清除缓存的资源或重定向。
– Ryu_hayabusa
2015年10月7日13:02
按住就像多次按下一样。打开记事本并按住R,将出现多个R。这是完全相同的,但是使用Ctrl。按住Ctrl + R等同于每秒将其按下数十次,持续几秒钟。那不是很聪明,它滥用了内置的刷新机制,并且依赖于未记录的行为。
–gronostaj
2015年10月7日14:06
@gronostaj是的,这是未记录的行为。接受的答案对我不起作用。这就是为什么我在这里分享它的原因。我看不到其他任何方法来清除缓存的重定向。如果您知道其他方法,请随时分享。
– Ryu_hayabusa
15-10-10在18:44
尝试过并且不起作用(在整个域上进行301重定向)。
– mgutt
17-10-25在13:28
#17 楼
如果您不想丢失整个缓存,并且重定向仍然停留在缓存中,则可以尝试访问该URL的view-source:版本。这为我刷新了相同URL的重定向缓存。#18 楼
如果可以控制页面,并且不希望浏览器缓存页面,则正确的方法是添加以下标头:Cache-Control: no-cache
但是只是这样做由于浏览器仍在从缓存加载,因此无法立即运行;进行此更改后,请按照以下答案重新加载页面:
https://superuser.com/a/924748/100398
评论
重新启动时是否仍然会发生这种情况?重新启动会话后应该会停止@random,重启chrome似乎可以解决问题。但是,通常我会打开很多窗口(例如:文档,数据库连接,教程,我正在处理的页面等)。如果我要进行故障排除,则可能需要进行几次尝试才能弄清正在发生的事情。我真的不认为必须关闭所有窗口是理想的选择。谢谢。
解决方法:在测试时使用302(临时)重定向,完成后切换到301(永久)。 (注意:某些浏览器(Firefox)在从同一页面的http转换为https版本时,甚至会缓存302个重定向。)
输入新的www.mywebsite /?someparam = somevalue对我有用
@JDIsaacks,您可以专门使用Chrome进行调试(即Chrome Canary)