404错误表示服务器未找到请求资源,主因是URL路径与文件物理位置不匹配、未启动Web服务器而直开file://、服务器根目录配置错误、相对路径在服务端解析异常或浏览器安全策略拦截。

HTML页面报404,不是页面写错了,而是服务器压根没“看见”那个文件——它连找的机会都没有。
请求路径和文件物理位置对不上
浏览器地址栏里写的 http://localhost/pages/about.html,但你实际把 about.html 放在了项目根目录下,没建 pages 文件夹,服务器自然找不到。
- 检查 URL 中的路径是否严格对应文件系统里的目录结构(注意大小写,Linux/macOS 区分,Windows 通常不区分但 Web 服务器可能区分)
- 确认文件扩展名是
.html,不是.html.txt或隐藏了系统扩展名 - 用终端或资源管理器直接打开文件所在目录,复制完整路径,再比对 URL 路径是否能逐级映射过去
没走 Web 服务器,直接双击打开 HTML
用 file:/// 协议打开本地 HTML 文件时,iframe、fetch、相对路径 CSS/JS 都可能因浏览器安全策略失效,报错却显示 “404 Not Found”,其实是访问被拒,不是真丢文件。
- 这类“404”本质是浏览器拦截,控制台常伴随
Cross-Origin Request Blocked或Not allowed to load local resource - 必须启动本地服务:用
python3 -m http.server 8000、npx serve或 VS Code Live Server 插件 - 访问地址必须是
http://localhost:8000/xxx.html,而非file:///xxx.html
Web 服务器配置指向了错误的根目录
Apache 的 DocumentRoot、Nginx 的 root、Tomcat 的 webapps/yourapp 目录,只要配错一格,所有路径就全偏移。
生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur
立即学习“前端免费学习笔记(深入)”;
- Apache:检查
httpd.conf或虚拟主机配置里的DocumentRoot "/path/to/your/site" - Tomcat:确认 HTML 是否放在
webapps/yourapp/下,且访问 URL 是http://localhost:8080/yourapp/index.html - 改完配置后必须重启服务,否则修改不生效
静态资源路径在 iframe 或 JS 中写成了相对路径
<iframe src="report/index.html"></iframe> 在父页面 /dashboard.html 里能跑,但部署到 Jenkins/Jetty 后崩了——因为这些服务对相对路径的解析逻辑和浏览器 file:// 完全不同。
- iframe 的
src建议统一用绝对路径,比如src="/static/report/index.html" - 如果用 JS 动态拼接路径,确保基地址来自
window.location.origin + window.location.pathname,而不是硬编码../ - Jetty、Stapler(Jenkins)、某些嵌入式服务会重写 URL 上下文,
..很容易越界落到未授权路径
最容易被忽略的一点:404 错误本身不报错在 HTML 代码里,它发生在网络层。所以哪怕页面语法完全正确,只要服务器找不到那个 URL 对应的磁盘文件或路由规则,就一定会返回 404——跟你的 <div> 写没写闭合标签毫无关系。</div>


















