我正在开发一个新网站,我最初在域名上设置了 URL 重定向,将用户带到现有网站,以避免出现停放域名通知。当要将网站的第一个版本放到网上时,我删除了重定向并等待了整整 48 小时(让 DNS 赶上更改)。但即使经过这段等待,每次我尝试导航到该域名时,它仍然会重定向。我开始怀疑这可能不是因为域名正在重定向,而是因为 Chrome(我选择的浏览器)缓存了旧路由。我通过在域上运行 Edge 来确认情况确实如此——它直接将我带到了新网站。
看来我需要指示 Chrome 停止缓存页面,并始终检查网站的新版本。一定有办法做到这一点。请告诉我。我是一个相当新的 Chrome 用户,对其中的设置选项不太了解。
我查看了选项,但那里似乎没有与 Internet Explorer 的“获取每个页面的新副本”等效的设置。事实上,Edge 似乎也没有这个功能!
答案1
这里有一个类似的问题:
https://productforums.google.com/forum/#!topic/chrome/xR-6YAkcASQ
这些答案已经很老了,所以我不知道它是否已经更新,但那时 chrome 看起来似乎没有自动化流程(现在可能仍然没有)。
从上面的来源来看,有两种手动解决方案:
每次按CTRL++SHIFT并DELETE手动清除缓存;或者
每次在您的网站上按下 URL 时,您都需要在每个链接中添加
'?random.number'
或。"?date.code"
例如,如果 'myhomepage.html?272772'
存储在缓存中,那么通过生成一个新的随机数(例如)'myhomepage.html?2474789'
,Google Chrome 将被迫寻找新的副本。
如果这没有帮助的话很抱歉!
编辑:如果您使用 Chrome 开发工具进行开发,则可以在以下来源找到可能更好的解决方案:
https://stackoverflow.com/questions/5690269/disabling-chrome-cache-for-website-development
附上获得赞同的解决方案的截图:
希望这是一种使用其他来源来回答的适当方法。
答案2
另一个答案可能适合您自己的 Chrome 实例,但其他每个用户都会遇到同样的问题。问题是 Chrome 需要must-revalidate
在 Cache-Control` 标头中重新检查文件以查看是否需要重新获取它们。
为了彻底解决所有用户的问题,请包含以下响应标头:
Cache-Control: must-validate
这会告诉 Chrome 检查服务器,看看是否有更新的文件。如果有更新的文件,它会在响应中收到它。如果没有,它会收到 304 响应,并确认缓存中的文件是最新的。
如果你没有设置此标头,则在没有任何其他使文件无效的设置的情况下,Chrome 将绝不与服务器检查是否有更新的版本。
这里有一个博客文章进一步讨论该问题。
答案3
按Ctrl+F5或Shift+F5加载网站的最新副本。
否则,您可以从开发人员工具中关闭缓存功能。操作如下:
- 访问该网站并按F12。
- 转到网络选项卡并选中“禁用缓存”框。
这样,您可以始终强制网站加载新内容而不是缓存文件。