检查访问状态与错误页,核心是分别确认三件事:服务器是否返回了页面、返回的状态码是什么、页面内容是否与预期一致。最直接的做法是打开浏览器开发者工具的 Network 面板,刷新页面,看第一条文档请求的 Status 列;再用命令行工具复测一次,排除浏览器缓存和插件干扰。如果状态码是 200 但页面空白,问题在内容或前端渲染;如果是 4xx 或 5xx,问题在请求路径或服务端。
状态码是服务器对这次请求的正式回答,比页面显示什么更可靠。常见几类需要区分:
同一个现象可能有多个解释。比如页面显示“找不到”,可能是真的 404,也可能是前端路由把未知路径渲染成了自定义错误页,而实际状态码仍是 200。所以状态码和页面文案必须对照看。
按 F12 打开开发者工具,切到 Network 面板,勾选 Preserve log,然后刷新页面。找到第一条类型为 document 的请求,查看 Status 和 Response Headers。重点看三个字段:
Status Code:这次请求的最终状态。Location:出现跳转时,下一跳的地址。Content-Type:返回的是 HTML、JSON 还是别的类型。如果期望 HTML 却返回 JSON,说明路由或接口配置错位。再切到 Console 面板,看有没有红色报错。前端报错不会改变 HTTP 状态码,但会让页面看起来像坏了。这一步能帮你把“服务器没返回”和“返回了但没渲染出来”分开。
浏览器可能带着缓存、Cookie、插件和代理,命令行请求更接近服务器真实响应。以 curl 为例,只看响应头:
curl -I https://你的域名/路径
如果站点用 HTTPS 且证书有问题,可以临时加 -k 跳过证书校验来区分“证书问题”和“服务问题”,但排查完应恢复校验。想看完整跳转链,用:
curl -IL https://你的域名/路径
判断方式:命令行返回 200 而浏览器返回 404,多半是浏览器缓存或本地 hosts 干扰;两边都返回 500,问题在服务端,需要查应用日志和运行环境。
处理前先确认错误页是谁生成的,这决定了改哪里。
一个可执行的检查项:在地址栏故意输入一个不存在的路径,看返回的状态码。如果返回 200 且显示“页面不存在”,说明兜底路由没有设置正确的状态码,这会让搜索引擎把无效地址当成有效页面。修正方式是在兜底路由中显式返回 404 状态。
改完之后不要只看一次。用无痕窗口重测,清掉缓存再测,用命令行再测一次,确认状态码、跳转链和页面内容三者一致。如果站点有多层代理或 CDN,还要确认错误页是源站返回的还是代理层返回的,两者的处理位置不同。
下一步建议:挑三个典型地址——首页、一个正常内页、一个故意写错的地址——分别记录它们的状态码和最终地址,形成一份最小检查清单。以后每次改完路由、服务器配置或部署,用这份清单复测一遍,就能快速判断问题出在哪一层。