检查访问状态与错误页,核心是分别记录“浏览器看到了什么”和“服务器返回了什么”。先用浏览器开发者工具的 Network 面板查看状态码与响应内容,再用命令行请求核对服务器原始响应,最后对照错误页类型判断问题出在域名解析、服务器、程序还是资源路径。只看到页面打不开还不够,必须拿到状态码、响应头和出错资源地址,才能定位。
浏览器可能显示“无法访问此网站”“连接超时”“404”或一片空白,这些现象对应的原因并不相同。判断时不要只看页面文字,要打开开发者工具:按 F12,进入 Network(网络)面板,刷新页面,观察第一条文档请求的 Status 列。
200:服务器正常返回内容。若页面仍异常,问题多在前端脚本、样式或接口请求。301 或 302:发生跳转。要检查跳转目标是否可达,以及是否形成循环跳转。403:服务器拒绝访问。可能是权限、目录索引或访问规则限制,不等于文件不存在。404:请求的地址没有对应资源。要确认路径拼写、文件是否上传、路由规则是否匹配。500 或 502、503:服务器或上游程序出错。需要看服务器错误日志,而不是只改前端页面。如果 Network 面板里根本没有文档请求,或者请求一直处于 pending,优先怀疑域名解析、网络连通性或服务器没有响应。
浏览器会缓存、跳转和渲染,命令行请求更接近服务器真实返回。Linux、macOS 或 Windows 终端中可以使用 curl:
curl -I https://example.com/
该命令只请求响应头,适合快速看状态码和跳转位置。若要看完整响应,去掉 -I。若怀疑是域名解析问题,可以先执行 ping example.com 或 nslookup example.com,确认域名是否解析到预期 IP。若返回 Could not resolve host,说明解析环节没有完成,此时检查服务器程序没有意义。
把命令行结果与浏览器结果对照:如果 curl 返回 200,浏览器却报错,问题可能在浏览器缓存、扩展、代理或 HTTPS 证书;如果两者都返回 500,问题在服务器端。这个对照步骤能避免在错误的方向上反复修改。
不同错误页提供的信息量不同。可以按下面的顺序判断:
curl -v 可以看到连接阶段停在哪里。如果是某个图片、样式或脚本单独报错,文档请求本身可能是 200。这时在 Network 面板中按状态码或类型筛选,找出失败的具体资源,再检查该资源的路径、大小写和访问权限。路径大小写不匹配在 Linux 服务器上会直接导致 404,在 Windows 上却可能正常,这是常见的判断点。
修改配置或文件后,不要只刷新一次首页就算完成。复查至少覆盖三项:原出错地址是否恢复、跳转链是否正常结束、错误日志是否不再新增同类记录。可以用 curl -I 再请求一次原地址,确认状态码已变为预期值;再打开浏览器无痕窗口,排除缓存干扰。
建议把每次检查结果记成简短记录:时间、请求地址、状态码、响应头关键字段、错误日志摘要、所做修改。这样当同类问题再次出现时,可以直接对照上次的判断依据,而不是从头猜测。
下一步,选一个当前报错的地址,先执行一次 curl -I 并打开 Network 面板,把状态码和失败资源记下来,再按上面的分类决定是查解析、查服务器还是查程序。