检查 HTML 链接代码的访问状态,核心不是看代码写得多漂亮,而是把链接实际打开一次,确认返回的是正常页面还是错误页。常见误解是“代码里写了 href 就一定能访问”,但 href 只说明浏览器该去哪里,不保证目标存在、可访问或返回正确内容。所以起点是:把每个链接当成独立请求去验证,而不是只检查语法。
同样是点击没反应或页面异常,原因可能完全不同,处理方式也不同:
这三类现象看起来都是“点不开”,但只有第一类能靠改代码解决,后两类要动服务器或权限设置。所以不要看到错误页就先去改 href。
最直接的检查方法是在浏览器里打开页面,按 F12 打开开发者工具,切换到 Network(网络)面板,然后刷新页面或点击链接。重点看三列:
判断结果:状态 200 且内容是你预期的页面,才算通过;出现 3xx 要跟到最终地址确认终点正常;出现 4xx 或 5xx 就要按上面三类原因分别排查。
页面链接多的时候,逐个点开效率低。可以用命令行工具批量获取状态码。例如在终端里执行:
curl -I -L https://example.com/page
其中 -I 只取响应头,-L 跟随跳转。输出第一行的数字就是最终状态码。把页面里所有链接提取成列表后,可以循环执行,把非 200 的结果单独记下来。
适用条件:这种方法适合检查公开可访问的页面,不能代替登录后的权限测试。如果链接需要登录才能访问,命令行会得到 401 或 403,这不代表链接坏了,而是缺少凭据。
有些网站会用 JavaScript 在页面内显示“页面不存在”,但 HTTP 状态码仍然是 200。这种软 404 对访问者来说像错误页,对检查工具来说却是正常页。判断方法是看响应头里的状态码,而不是只看页面上写了什么。如果状态码是 200 但内容明显是错误提示,说明错误处理没有返回正确的状态码,需要调整服务器或应用配置。
反过来,如果状态码是 404 但页面设计得很完整,也不代表链接可用——对访问者和搜索引擎来说,它仍然是错误页。
下一步:从你当前页面里挑出最重要的三个链接,按上面的顺序各检查一遍,把状态码和最终地址记下来。这三个结果会告诉你,问题集中在代码、资源还是权限上,再决定改哪里。