纯html网站部署netlify只需确保index.html位于根目录或public/子目录;拖拽上传适合临时演示,git连接支持自动部署与回滚;404主因是相对路径错误、缺失index.html或域名未验证;简单站点无需netlify.toml。

纯 HTML 网站部署 Netlify,根本不用写代码、配构建、装依赖——只要确保 index.html 在对的位置,点几下就能上线。
文件放哪?根目录 or public/?
Netlify 默认只找两处:index.html 必须在项目根目录,或者放在 public/ 子目录下。它不递归扫描 src/、dist/html/ 或 pages/ 这类路径。
- ✅ 正确结构(任选其一):
•index.html+style.css+script.js全在项目最外层
• 或者全部放进public/index.html及其同级资源 - ❌ 常见错误:
• 把index.html放在src/index.html却没配publish目录 → 部署成功但 404
• 用拖拽上传时误选了整个项目文件夹(含.git、node_modules),而 Netlify 实际只读取顶层静态文件
Git 连接 vs 拖拽上传:哪个更稳?
拖拽上传适合临时演示;Git 连接才是长期可用的正解——它能自动更新、回滚、查日志。
使用 Puppeteer + Chrome 将 HTML 渲染为中文 PDF,自动处理图表等待、Tab 展开、动画、测高、白边消除、防分页,适用于看板、报表、网页和交互图表转 PDF。
- 用 Git 连接时注意:
• 新 GitHub 仓库默认分支是main,旧项目可能是master;Netlify 默认拉main,分支名不对会导致部署空页面
• 检查.gitignore是否误写了*.html或/public—— Git 没提交的文件,Netlify 根本看不到 - 拖拽上传的限制:
• 不记录版本,没法回滚到上一版
• 每次改完都得重新拖一次,无法触发自动化流程
部署后 404?先盯死这三处
90% 的 404 和 Netlify 无关,而是本地路径或配置没对齐。
-
href="pages/about.html"→ 必须保证文件系统里真有pages/about.html。Netlify 不做路由重写,不是 SPA 就别指望它自动 fallback - 没有
index.html→ 它不会尝试home.html、default.html或index.htm,名字必须一字不差 - 自定义域名显示 404 或跳转失败 → 检查 DNS 的 CNAME 记录是否生效,再回 Netlify 控制台点「Verify domain」。状态卡在 pending 就算绑了也白搭
要不要写 netlify.toml?
纯 HTML 站点 90% 不需要。只有遇到以下情况才加:
- 你用了前端路由(比如
history.pushState),访问/about报 404 → 加重定向规则:[[redirects]]<br> from = "/*"<br> to = "/index.html"<br> status = 200
- 想强制 HTTPS(推荐)→ 加 headers:
[[headers]]<br> for = "/*"<br>[headers.values]<br> Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload"
- 图片/CSS/JS 缓存太短 → 在
[[headers]]里给/*.js或/*.css加Cache-Control
真正容易被忽略的是相对路径的稳定性——本地双击打开 index.html 能跑,不等于部署后还能跑。所有 href、src 都得按服务器视角(即以 index.html 为基准)来写,而不是按你本地文件浏览器的层级感来猜。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










