404.html必须严格置于根目录、全小写命名,并返回真实HTTP 404状态码,否则被视作普通页;需语义化HTML(含404)、禁用跳转、添加noindex,SPA须排除该路径防fallback覆盖。

企业网站的 404.html 必须放在根目录、小写命名、返回真实 404 Not Found 状态码——缺一不可,否则搜索引擎当普通页面收录,用户点击死链也得不到明确反馈。
404.html 文件必须严格放在根目录且全小写
GitHub Pages、Vercel、Netlify、Cloudflare Pages 这些主流托管平台只识别项目根目录(和 index.html 同级)下的 404.html。任何变体都会失效:
-
404.htm、error-404.html、pages/404.html、404.HTML—— 全部不生效 - Windows 记事本保存可能带 BOM,用
git ls-files | grep 404确认 Git 提交的是干净的纯文本 - Jekyll 用户需在
404.html开头加 YAML front matter:---\npermalink: /404.html\npublished: false\n---,否则会被当作普通页面渲染
服务器必须返回真实 404 状态码,不能是 200 或 302
常见错误是页面看着像 404,但 Network 面板里显示 Status: 200 OK —— 这属于“软 404”,对 SEO 和可访问性都是硬伤:
- Apache:在
.htaccess中写ErrorDocument 404 /404.html,路径必须以/开头 - Nginx:在
server块中加error_page 404 /404.html;,并确保有location = /404.html { }允许直接访问 - SPA 应用(React/Vue)要警惕
try_files $uri $uri/ /index.html;这类 fallback 规则 —— 它会把所有路径都喂给index.html,导致 404 被吞成 200;必须排除/404.html路径 - 本地开发用
live-server或http-server测试不了真实 404 行为,它们默认只返回 200 +index.html
里必须含“404”字样,且用语义化结构
搜索引擎和屏幕阅读器靠 HTML 结构判断页面意图,纯图片、SVG 文字或 JS 动态插入的“404”不可靠:
- 必须有且仅有一个
或404 Not Found
,不能藏在页面未找到(404)
或 CSS 伪元素里- 核心内容应包裹在
内,提升可访问性- 加
防止被搜索引擎误收录- 避免使用
自动跳转,它会干扰用户操作,也破坏 HTTP 语义最容易被忽略的是:企业站常把所有流量导向
index.html(比如用 rewrite 兜底),结果连/404.html自身都打不开 —— 此时必须单独放行该路径,否则整个机制就崩了。 - 核心内容应包裹在
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











