检查访问状态与错误页,核心是先用curl或浏览器开发者工具拿到HTTP状态码、响应头和错误页内容,再按“域名解析→服务器响应→CMS程序→插件或主题”的顺序逐层排除。不要只看浏览器显示“无法访问”就断定是CMS问题,因为同一个现象可能来自DNS、证书、防火墙、伪静态规则或数据库连接中的任意一层。
排查前先固定证据,避免反复刷新导致判断混乱。需要记录:
Server、Location、Set-Cookie和缓存相关字段,判断请求是否被重定向或缓存拦截。在命令行执行curl -I https://你的域名/可以只看响应头;执行curl -i https://你的域名/某路径可以同时看到状态码和正文。若返回301,继续用curl -IL跟踪跳转链,确认最终落点。
第一层检查域名解析。用dig或nslookup查询域名,确认返回的IP与服务器实际IP一致。如果解析到旧IP或CDN节点,访问异常可能与源站无关。
第二层检查服务器与证书。用浏览器开发者工具的“网络”面板查看请求是否被HTTPS证书错误中断。证书过期、域名不匹配或中间证书缺失,都会让浏览器直接显示安全警告,而不是CMS错误页。
第三层检查Web服务器规则。403常见于目录权限或防火墙规则;404常见于伪静态规则未生效或文件确实不存在;500常见于PHP版本不兼容、文件权限错误或数据库连接失败。此时查看服务器错误日志比反复修改CMS设置更有效。
第四层检查CMS自身。若首页正常但某个栏目或文章页报错,优先怀疑固定链接规则、插件冲突或主题模板。可临时切换到默认主题、停用最近启用的插件,再访问同一路径对比结果。操作前备份数据库和文件,因为停用插件可能改变页面输出。
把错误页当成线索而不是结论。可以按下面条件判断:
假设一个场景:首页返回200,某篇文章返回404,而后台文章列表里该文章仍存在。此时更可能是固定链接规则或缓存未更新,而不是文章被删除。先保存固定链接设置刷新规则,再清理CMS缓存和CDN缓存,最后用无痕窗口复测。若仍404,再检查服务器重写模块是否启用。
按以下顺序操作,每步只改变一个条件,便于定位:
curl -I记录首页、栏目页、文章页的状态码和响应头。选择处理方式时,比较代价:改服务器配置影响面大但能解决全局问题;改CMS设置影响面小但可能只掩盖单点故障;清理缓存成本最低,适合先排除缓存层。判断结果以“同一请求在不同条件下是否稳定返回同一状态码”为准,而不是以某一次刷新结果为准。
把出现问题的完整URL、访问时间、状态码、响应头、错误页截图和服务器日志片段整理成一条最小复现记录。带着这条记录去查CMS文档、服务器配置或向运维描述问题,比只说“网站打不开”更容易得到准确回应。若首页正常而内页异常,优先从固定链接和伪静态规则继续查;若全站异常,优先从解析、证书和数据库连接继续查。