必须返回真实404状态码并具备语义化HTML结构:title含“404”、h1直写“404”、明确提示语句、有效首页链接;静态托管需按平台规范命名配置,验证用Network面板确认状态码为404而非200。

零基础也能做可用的 404 页面,关键不是写多“漂亮”,而是让浏览器和搜索引擎都认得它是真正的 404 —— 这需要两件事:正确的 HTTP 状态码 + 合理的 HTML 结构。光放个 404.html 文件在根目录,服务器默认返回的是 200 状态,对 SEO 和用户体验都没用。
怎么让服务器返回真正的 404 状态码?
绝大多数静态托管服务(如 GitHub Pages、Vercel、Netlify)支持声明自定义错误页,但必须配合配置,否则访问不存在路径时仍返回 200。
- GitHub Pages:不支持自动识别
404.html,需用 Jekyll(不推荐零基础)或改用其他平台 - Netlify:把文件命名为
404.html放在发布目录根目录即可,自动生效(注意大小写,必须全小写) - Vercel:同 Netlify,
404.html放在public/或输出目录根下,无需额外配置 - 自己搭 Nginx/Apache:必须手动配置
error_page 404 /404.html并确保该路径可被公开访问
验证是否成功:打开一个明显不存在的路径(如 /this-page-does-not-exist),用浏览器开发者工具的 Network 面板看响应状态码 —— 必须是 404,不是 200。
HTML 里哪些内容不能少?
一个有效 404 页面不是“随便写点文字+返回按钮”,它要帮用户快速判断当前状态、提供可靠出口,并避免误导搜索引擎。
- 必须有
—— 浏览器标签页显示、SEO 抓取都依赖这个404 Not Found - 正文第一行建议用
,不要写成404
这类模糊表述(辅助技术、爬虫无法理解)页面走丢了
- 加一句明确说明:
(中文用户友好,也利于语义化)您请求的页面不存在。
- 至少提供一个有效跳转:
@#@#@#@#@#@#@#@#@#@0,链接目标必须真实可访问(别写成#或空href) - 避免自动跳转(
)—— 破坏后退操作,且被搜索引擎视为跳转作弊
要不要加 CSS 和 JS?零基础怎么安全加?
可以加,但优先级低于状态码和语义结构。JS 尤其要小心:如果脚本加载失败或报错,整个页面可能白屏或交互失灵。
- CSS 推荐内联(
标签),避免外链失败导致样式丢失;简单居中+字号就够了,不用复杂布局 - JS 只用于增强(比如带动画的返回按钮),绝不能用于核心功能(如生成导航、渲染主体文案)
- 所有外链资源(字体、图标、CDN JS)必须用
https://,HTTP 会被现代浏览器拦截 - 测试时关掉浏览器 JS,确认文字、链接、基本结构仍完整可用
示例最小可行结构:
<meta charset="UTF-8"><title>404 Not Found</title><style>body { text-align: center; margin-top: 2rem; }</style><h1>404</h1>
<p>您请求的页面不存在。</p>
<a href="/">返回首页</a>
真正容易被忽略的点是:很多人花时间调背景图、加动效,却没验证状态码是否生效,也没检查低网速或禁用 JS 时是否还能说清“这是 404”。先跑通状态码和语义,再考虑美化 —— 否则只是个长得像 404 的 200 页面。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











