检查自己建网站的访问状态与错误页,核心是分别确认三件事:服务器是否返回了预期状态码、错误页是否由你的站点主动提供、以及不同网络环境下结果是否一致。最直接的做法是用浏览器开发者工具的 Network 面板看状态码,再用命令行工具从外部发起请求复核。下面按决策顺序说明。
访问异常不一定都是网站的问题。状态码由服务器返回,表示请求的处理结果;错误页是服务器在返回 4xx 或 5xx 时附带显示的页面内容;而 DNS 解析失败、连接超时、本地代理拦截则属于更底层的网络问题,此时浏览器可能根本收不到状态码。
如果浏览器显示“无法访问此网站”而不是一个带样式的错误页,多半说明请求没有到达能返回状态码的服务,先排查解析和连通性,而不是急着改错误页模板。
在页面上按 F12 打开开发者工具,切到 Network 面板,刷新页面。看最上面那条文档请求的 Status 列:它显示的就是服务器返回的状态码。再点开该请求的 Response 或 Preview,确认返回的正文是你预期的页面还是错误页。
这一步能回答两个问题:页面本身是 200 还是 404;如果状态码是 404 但页面看起来正常,说明你可能配置了自定义错误页,但状态码没有跟着改。判断标准是:错误页应当同时具备正确的状态码和友好的页面内容,只有页面好看而状态码仍是 200,会让搜索引擎和监控工具误判该地址有效。
浏览器结果可能受缓存、登录态和本地 hosts 影响。用命令行从外部再请求一次,能减少误判。以下命令在多数 Linux、macOS 和 Windows 终端可用:
curl -I https://你的域名/不存在的路径
参数 -I 表示只取响应头。观察第一行的状态码,以及 Location 头是否指向了错误页地址。如果想看完整响应体,去掉 -I。再对首页执行一次,确认正常页面返回 200。
适用条件是你能在终端访问该域名。如果返回的是连接失败或超时,说明问题在解析、端口或防火墙层面,需要先解决连通性。若返回 301 或 302,则要跟踪跳转链,确认最终落点。
自己建网站时,常见做法是在服务器配置里指定错误页文件。以 Nginx 为例,配置中会出现类似 error_page 404 /404.html; 的指令。检查时不要只看配置文件写了什么,而要实际请求一个不存在的地址,确认返回的正文确实是那个文件。
/this-page-should-not-exist。curl 各请求一次。判断结果:状态码为 404 且正文为自定义页面,说明配置正确;状态码为 404 但正文是服务器默认页,说明自定义页路径或权限有问题;状态码为 200,说明错误处理被绕过,需要回到服务器配置修正。
与其每次出问题再临时排查,不如把上述动作整理成一份清单,在改动配置、更换主题或调整重定向规则后执行一遍:
如果其中任何一项不符合预期,先定位是服务器配置、应用路由还是缓存造成的,再决定改哪一层。修改后重新执行同一清单,确认没有引入新的跳转或状态码变化。
下一步,把你当前站点的首页、一个不存在路径和一个受保护路径分别用浏览器和 curl 请求一次,记录状态码与正文,形成基线结果。以后每次调整配置,都拿这份基线做对比。