404错误是请求路径与服务器资源不匹配所致,非服务器宕机;需按地址、服务、配置三层顺序排查,六成源于手动输入偏差,重点核对协议、斜杠、大小写及文件实际位置。

404错误不是服务器宕机,而是请求路径和实际资源不匹配。多数情况不用改代码,只需按顺序排查地址、服务、配置三层问题。
检查浏览器地址栏是否拼错或协议缺失
超过六成的404源于手动输入偏差。重点看三处:https://有没有被漏掉;路径中/是不是误写成\或全角符号;大小写是否和服务器文件名一致(Linux 服务器严格区分 about.html 和 About.html)。把地址栏 URL 全选 → 粘贴进记事本 → 逐字符比对原始链接,尤其注意末尾空格和中文标点。
确认 HTML 文件是否真在服务器对应路径下
本地双击打开 index.html 没问题,但上传到服务器后访问报 404,大概率是文件没放对位置。登录主机控制面板(如 cPanel),进入文件管理器,按 URL 路径一级级展开,比如访问 https://example.com/blog/post.html,就依次点开 public_html → blog → 看 post.html 是否存在。同时检查权限:目录 应为 755,HTML 文件 应为 644;若显示 600 或 000,Web 服务器无法读取。
判断是否因 HTML5 History 模式缺少 fallback 导致
用 Vue Router 或 React Router 的 history 模式时,前端路由如 /user/profile 在首次访问或刷新时会直接向服务器发请求。如果 Nginx 或 Apache 没配 fallback,就会返回 404——因为服务器上根本不存在这个路径的文件。
使用 PptxGenJS 和 Python 解析,将结构化的 HTML/CSS 幻灯片内容转换为原生、可编辑的 PowerPoint(.pptx)演示文稿。
立即学习“前端免费学习笔记(深入)”;
- Nginx 配置需包含:
try_files $uri $uri/ /index.html; - Apache 需确保
.htaccess中有有效重写规则,且mod_rewrite已启用 - 静态托管平台(Vercel/Netlify)默认支持,但自建服务必须手动加
验证方法:打开开发者工具 → Network 标签页 → 刷新页面 → 看 404 请求的 Response Headers 中 Content-Type 是不是 text/html;如果是 application/json,说明被后端 API 拦截了,不是 history fallback 问题。
排除 file:// 协议下本地测试导致的假性 404
双击打开 HTML 文件时,浏览器用 file:// 协议加载,此时所有 fetch()、import、甚至部分 src 和 href 都会被安全策略阻止,控制台报 Access to script at 'file:///xxx.js' from origin 'null'。这不是 404,但表现类似(资源加载失败、页面空白)。
- 必须起本地 HTTP 服务:终端运行
python3 -m http.server 8000,然后访问http://localhost:8000/index.html - VS Code 的 Live Server 插件可用,但注意右下角状态栏显示的真实端口(可能自动跳到
:5501) - Network 面板里所有 404 请求的真实路径,都以服务根目录为起点,比对
src="js/app.js"实际请求的是http://localhost:8000/js/app.js还是http://localhost:8000/current-dir/js/app.js
真正难定位的是相对路径在多层子目录下嵌套错位,比如当前页在 /admin/users/,src="../assets/main.css" 就容易算错一级。最稳妥的做法是所有静态资源路径以 / 开头,配合服务器根目录部署。


















