检查 HTML 链接的访问状态,核心是看链接指向的 URL 返回了什么 HTTP 状态码:2xx 表示可正常访问,3xx 表示发生跳转,4xx 通常是链接地址写错或资源被删,5xx 则是目标服务器自身出错。对写页面的人来说,重点是先分清“链接本身写错”还是“对方服务器出问题”,再决定改 HTML 还是换地址。
把页面在浏览器中打开,点击目标链接,观察地址栏和页面内容。如果地址栏跳到了另一个 URL 才出现内容,说明发生了重定向;如果停留在原地址却显示“404 Not Found”,说明该路径下没有对应资源;如果显示“500 Internal Server Error”之类,则问题多半在目标服务器。观察时建议打开浏览器开发者工具的 Network(网络)面板,刷新页面后点击链接,查看该请求的 Status 列,这是最直接的判断依据。
href 直接改成最终地址,减少一次跳转。href 拼写、大小写、多余斜杠或文件已被移动。需要区分的是:同一现象可能有多个解释。例如点击后没反应,可能是 href 为空、被 JavaScript 拦截,也可能是目标地址不可达,不能只凭一个现象就断定原因。
如果是 404,先检查 HTML 源码中该链接的写法:
<a href="https://example.com/page">说明文字</a>
逐项核对协议是否写成 http 而目标只支持 https、路径大小写是否一致、是否漏写或重复斜杠、锚点 #id 是否真实存在。相对链接还要确认当前页面所在目录,例如 href="page.html" 与 href="/page.html" 指向的位置并不相同。
如果是 3xx,把 href 改为跳转后的最终地址。如果是 5xx,属于对方服务问题,可稍后复查,必要时联系目标站点,而不是反复修改自己的 HTML。
修改后不要只看一次点击结果。可以用命令行工具批量核对,例如:
curl -I https://example.com/page
它会返回响应头中的状态码,适合检查多个链接。也可以在浏览器开发者工具中重新加载页面,确认状态码已变为 200,且不再出现意外跳转。若页面链接较多,逐条记录“原地址、状态码、处理动作、复查结果”,避免改完又漏检。
下一步:挑出页面上所有外部链接,用上面的方法逐条记录状态码,把 404 和长期 3xx 的地址优先修正,再整体复查一遍。