你可能会说:
- “不存在的网址也能打开首页,这有什么问题吗?”
- “搜索引擎报告说我有一堆"软 404",是什么意思?”
它是什么
软 404 最常见的来源是单页应用的托管配置:为了让前端路由正常工作,所有路径都被改写到同一个 index.html,于是任何网址都返回 200。
后果是程序分辨不出真假:搜索引擎可能收录一堆重复的空页面,也可能因此降低对整站的信任;监控看到的永远是"一切正常";打错的链接也不会暴露。
修法是让不存在的路径返回真正的 404 状态码,同时给人看一张友好的"找不到"页面。
打个比方
查无此人的包裹被签了"已签收"再原样退回:你的系统会以为已经送到了。
在这个网站里
本站迁移前,托管配置里有一条把所有路径改写到 index.html 的规则,任何网址都返回 200;现在不存在的地址会返回 404,并显示一张"页面不存在"。
容易搞混的地方
常见误解
页面上显示"找不到"就够了
正确理解
那是给人看的;给程序看的状态码也必须是 404。
你可以这样告诉 AI
复制下面这段,贴给你的 AI
检查托管配置里的重写(rewrite)规则:不存在的路径必须返回 404 状态码和一个 404 页面,不能被改写成首页。
接下来去哪
先知道
- HTTP 状态码——服务器回应每个请求时附带的三位数字,告诉对方这次是成功、找不到,还是出错了。
在这些课里出现
相关的真实事故