网站主页已经更新,浏览器却仍然跳转到旧地址:一次缓存问题的排查记录
网站改版之后,有时会遇到一种看起来很像服务器配置错误的问题: 服务器上的主页已经更换,旧的跳转逻辑也已经取消,但访问网站根地址时,浏览器仍然自动跳转到过去使用的旧页面。由于旧页面已经被删除或停止使用,最终看到的往往是一个 404 Not Found。 这种现象很容易让人误以为 Apache、Nginx、VirtualHost 或 Rewrite 规则仍然存在问题。 实际上,问题也可能完全发生在浏览器端。 问题场景 假设网站过去采用如下结构: 根目录中的主页负责判断访问设备,然后将桌面浏览器跳转到: 移动设备则可能跳转到另外一个页面。 后来网站进行了调整,新的主页直接部署到了根地址: 因此旧的: 已经不再需要,甚至已经被删除。 服务器配置也已经更新。 但某些此前访问过网站的浏览器再次打开: 时,仍然立即进入: 随后返回 404。 此时需要先判断一个关键问题: 跳转到底发生在服务器端,还是浏览器端? 最简单的判断方法:使用隐身窗口 可以先使用浏览器的 Incognito / Private Window 打开网站根地址: 如果隐身窗口能够正常显示新主页,而普通窗口仍然跳转到旧地址,那么服务器通常已经没有问题。 问题基本可以锁定在: 浏览器缓存。 隐身窗口不会直接使用普通浏览器 Profile 中已经保存的大部分站点缓存,因此相当于进行了一次相对干净的访问测试。 这个方法非常适合快速区分: 和: 使用 Chrome DevTools 强制刷新缓存 在 Chrome 中,可以使用开发者工具强制重新请求网站资源。 操作步骤: 此时 Chrome …