建站步骤中检查访问状态与错误页,核心是分别确认“服务器有没有响应”“响应状态码是多少”“浏览器实际看到什么页面”。先看状态码,再看页面内容,最后看错误页是否按预期返回,这三步能覆盖大多数问题。
假设你刚把站点部署到一台服务器,域名解析也做了,打开浏览器输入地址后看到“无法访问此网站”。这时不要急着改代码,先按下面顺序排查:
curl -I http://你的域名,只看返回的第一行。若显示 Could not resolve host,说明解析没生效或域名写错;若显示 Connection refused,说明服务器端口没有服务在监听;若显示 HTTP/1.1 200 OK,说明服务器正常,问题在浏览器缓存或前端资源。301 或 302,用 curl -IL 跟随跳转,确认最终落到哪个地址,避免跳转成环或跳到错误域名。403、404、500,分别对应权限不足、路径不存在、服务端程序出错,处理方向完全不同。这个例子里,状态码是判断起点,页面内容是判断结果,两者不能互相替代。
访问状态由 HTTP 状态码表达,错误页是服务器在返回错误码时同时输出的页面。常见对应关系如下:
404:资源不存在。若你访问的是首页却返回 404,通常是站点根目录配置错误,而不是页面被删。403:服务器理解请求但拒绝执行。常见于目录没有默认首页、文件权限过严。500:服务端内部错误。需要看服务器错误日志,不能只靠浏览器提示定位。502/504:网关或代理层拿不到后端响应,常见于反向代理配置或后端进程未启动。检查时先记录状态码,再截图或保存错误页内容。如果状态码是 200 但页面显示“系统错误”,说明错误被程序捕获后仍以正常状态输出,这种情况要查应用日志,而不是查 HTTP 层。
浏览器开发者工具的 Network 面板能看到每个请求的状态码、耗时和响应头,适合检查页面内资源,比如 CSS、JS、图片是否 404。命令行工具适合检查整站入口和跳转链。两者结果不一致时,优先相信命令行,因为浏览器可能命中缓存或加载了旧 Service Worker。
可执行的检查项:
curl -I 看响应头,确认 Content-Type 和 Location 是否符合预期。自定义错误页适合已经能稳定返回正确状态码的站点。如果服务器本身无法响应,自定义错误页也不会出现。配置时注意:错误页文件路径要真实存在;返回状态码要与错误类型一致;错误页里不要自动跳转到首页,否则用户和爬虫都拿不到真实错误信息。若使用 CDN 或反向代理,还要确认错误页是在源站生成还是由代理层生成,两者的修改位置不同。
打开命令行,对你的站点根地址和至少一个内页分别执行一次 curl -I,记录第一行状态码。若状态码正常但页面异常,转向应用日志;若状态码异常,按 404、403、500、502 的分类逐项检查服务器配置、文件权限和后端进程。