核心是服务器必须返回真实404状态码;404.html须严格置于根目录、纯小写命名、无BOM,GitHub Pages/Vercel/Netlify等平台仅识别此约定路径,且需用curl验证HTTP/2 404响应头。

404页面不是“做个HTML放上去就完事”,核心卡点永远在服务器是否真实返回 404 Not Found 状态码——没这一步,其余全是白搭。
404.html 文件必须严格满足命名与路径要求
静态托管平台(GitHub Pages、Vercel、Netlify、Cloudflare Pages)只识别根目录下名为 404.html 的文件,且必须是纯小写、无空格、无 BOM、无路径前缀。
-
404.htm、error-404.html、pages/404.html、404.HTML全部无效 - Git 用户用
git ls-files | grep 404确认文件已提交,Windows 记事本保存易带 BOM,建议用 VS Code 或 Sublime 以 UTF-8 无 BOM 模式保存 - Jekyll 用户需在
404.html开头加 YAML front matter:---\npermalink: /404.html\npublished: false\n---,否则会被当作普通页面渲染
确保服务器返回真实 HTTP 404 状态码
光有文件 ≠ 有效 404 页面。浏览器和搜索引擎靠响应头里的状态码识别错误,不是靠文件名。
- 本地双击打开
404.html测试?不行——file://协议无 HTTP 状态码概念,必须用本地服务(如npx serve)预览 - 验证方式:终端执行
curl -I https://yoursite.com/nonexistent-path,确认响应头含HTTP/2 404,而非200 OK - Apache:在
.htaccess中加ErrorDocument 404 /404.html,路径必须以/开头 - Nginx:在
server块中加error_page 404 /404.html;,并确保location = /404.html存在且未被rewrite覆盖 - SPA 应用(React/Vue)要警惕
try_files $uri $uri/ /index.html;—— 它会把所有请求 fallback 到index.html并返回 200,必须排除/404.html路径
HTML 结构必须语义化且含可见“404”文字
搜索引擎和屏幕阅读器依赖标签结构判断页面意图, 不是装饰,是硬性要求。404
生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur
- 必须用
或类似明确含数字“404”的文本,不能用 SVG/图片替代,也不能靠 JS 动态插入404 Not Found
- 主体内容应包裹在
内,避免全用堆砌- 跳转链接优先用
@#@#@#@#@#@#@#@#@#@0,而不是—— 禁用 JS 时仍可用- 若加自动跳转,必须用
location.replace("/")(非href),并放在DOMContentLoaded后,动画结束后再触发,否则用户看不到错误提示别忽略 Referer 和原始 path 的日志记录
再好看的 404 页面,如果服务端不记录
Referer和请求的path,就只是个花瓶——你无法知道是内部链接写错、还是爬虫在扫废弃接口。这个环节常被前端忽略,但它是后续修复死链、优化导航结构的唯一数据来源。配置 Nginx 或后端中间件时,务必把这两项写入 access log 或单独上报到分析系统。
- 跳转链接优先用
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










