90%的404是路径错误而非文件丢失或服务器故障;必须通过http://localhost访问(启动本地服务器),而非file://协议,且需核对DocumentRoot、大小写、扩展名、URL编码及DirectoryIndex配置。

直接结论:90% 的情况是路径没对上,不是文件丢了,也不是服务器坏了。
确认浏览器访问的是 http:// 而不是 file://
双击打开 HTML 文件,浏览器地址栏显示的是 file:///Users/xxx/index.html 这类路径?那根本没走服务器,404 是浏览器自己报的“假错误”——它压根没发请求给任何服务。真正的 404 必须发生在 HTTP 请求被服务器接收之后。
- 必须启动本地 Web 服务器(如
python3 -m http.server 8000、npx serve、XAMPP、VS Code Live Server 插件) - 然后在浏览器里输入
http://localhost:8000/index.html才算一次有效测试 - Mac 上用 Safari 打开时尤其容易误点“在 Finder 中显示”,结果又回到
file://场景
检查服务器 DocumentRoot 是否真指向你放文件的目录
比如你把 index.html 放在 /Users/me/my-site/,但 Apache 的 DocumentRoot 配置的是 /Library/WebServer/Documents,那无论你怎么刷新 http://localhost/index.html,服务器永远在另一个目录里找文件。
- Apache 用户查
httpd.conf里的DocumentRoot和<directory></directory>块是否一致 - Nginx 用户查
nginx.conf中server块下的root指令 - Node.js 简易服务(如
serve)需确认启动时是否指定了正确目录:npx serve ./my-site,而不是默认当前目录 - 改完配置后必须重启服务,
sudo apachectl restart或sudo nginx -s reload
验证文件名、大小写、扩展名是否与 URL 完全一致
Linux/macOS 服务器严格区分大小写,Index.html ≠ index.html;Windows IIS 通常不区分,但 Docker 容器或云主机大概率是 Linux 内核,一律按区分处理。
生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur
立即学习“前端免费学习笔记(深入)”;
- URL 是
http://localhost/About.html,但文件实际叫about.html→ 404 - URL 少了个
.html,而服务器没配DirectoryIndex(如 Apache 的DirectoryIndex index.html)→ 404 - 文件用中文命名或含空格(如
我的首页.html),未做 URL 编码 → 浏览器发出去的路径可能被截断或转义异常 - 用终端进到目标目录执行
ls -la,肉眼比对输出的文件名和你请求的 URL 是否逐字符相同
用开发者工具 Network 标签看真实请求路径
别猜,直接看浏览器到底发了什么过去。打开 DevTools → Network → 刷新页面 → 找状态码为 404 的那一行 → 点开 → 看 Headers 里的 Request URL 和 Response 里的 Content-Type(如果是 text/html 但内容是 Apache 默认 404 页,说明确实是服务器返回的;如果是空响应或 application/json,可能是前端路由或代理层拦截了)。
- 如果
Request URL是http://localhost/css/style.css报 404,但你只改了 HTML —— 说明问题不在 HTML 本身,而在关联资源路径 - 如果
Request URL显示的是带多余斜杠或重复路径(如http://localhost/my-site/my-site/index.html),大概率是<base href="/my-site/">和实际部署路径冲突 - 右键该请求 → “Copy” → “Copy full URL”,粘贴到新标签页再试一次,排除前端 JS 重写 URL 的干扰
最容易被忽略的一点:很多新手在根目录放好 index.html 后,直接访问 http://localhost/,却忘了确认服务器是否启用了目录索引或设置了 DirectoryIndex。没有这句,/ 就不会自动找 index.html,而是直接 404 —— 即使文件就在那儿。


















