index.html 是 web 服务器默认查找的首页文件,当用户访问不带路径的网址时,服务器按配置顺序优先匹配该文件;它承担网站结构起点、seo 主页、资源路径基准及 spa 路由锚点等核心角色,部署中必须位于根目录且为小写形式。

index.html 是服务器默认查找的首页文件
当用户访问 https://example.com/ 这类不带具体路径的网址时,Web 服务器(如 Nginx、Apache)会按预设顺序查找根目录下的默认文件名,index.html 是其中最普遍、优先级最高的一个。它不是约定俗成的“习惯”,而是服务器配置里明确写死的行为。
常见默认文件列表(以 Nginx 为例):index.html、index.htm、index.php。只要 index.html 存在,就不会继续往后找。
- 如果删掉
index.html,又没配其他默认页,用户访问根路径会看到 403 Forbidden 或目录列表(取决于服务器是否开启autoindex) - Apache 的
DirectoryIndex指令、Nginx 的index指令都可修改这个行为,但改之前得确认团队协作和部署脚本是否兼容 - 静态托管服务(如 GitHub Pages、Vercel、Netlify)也默认认
index.html;若放的是home.html,必须手动配置重定向或入口路由
它承担网站的结构起点与导航枢纽
index.html 不只是“第一个展示的页面”,更是整个站点 HTML 结构的锚点:所有相对路径的 CSS、JS、图片链接,以及站内跳转的 <a href="about.html"></a>,都以它所在位置为基准解析。一旦把它挪到子目录(比如 /src/index.html),而没同步调整资源路径或服务器路由,立刻出现 404。
- 避免用绝对路径硬编码资源,例如
<link href="/css/style.css">在多环境部署时容易失效;推荐用相对路径或构建工具自动处理 - 单页应用(SPA)中,
index.html往往只留一个<div id="root"></div>,其余由 JS 渲染——但它仍必须存在,且不能被移除或重命名,否则路由 fallback 会失败 - SEO 关键:搜索引擎把
index.html当作站点主页抓取,<title></title>、<meta name="description">、首屏语义化标签(<header></header>、<main></main>)直接影响搜索结果摘要
它和部署、CI/CD 流程强绑定
很多构建工具(如 Vite、Create React App、Hugo)默认输出产物里必须包含 index.html,且要求它位于 dist 根目录。这不是可选项,是交付契约的一部分。
- GitHub Pages 要求仓库根目录或
docs/目录下有index.html,否则页面空白 - Docker 镜像里 Nginx 容器挂载静态文件时,若宿主机路径下没有
index.html,容器启动后访问 80 端口直接报错 404 - 某些 CDN(如 Cloudflare Pages)允许自定义入口,但若未显式设置,依然 fallback 到
index.html
容易被忽略的细节:大小写与扩展名
Linux 服务器区分文件名大小写,Index.html 或 INDEX.HTML ≠ index.html;Windows 和 macOS(默认)不区分,本地测试正常,一上生产就 404。
- 始终用小写
index.html,避免混用.htm和.html(尽管服务器常同时支持,但统一能减少排查成本) - Git 默认不区分大小写,但可通过
git config core.ignorecase false强制校验——建议在 CI 中加一步检查是否存在index.html且权限可读 - 某些老旧嵌入式设备或定制 HTTP 服务只认
index.htm,但现代开发中除非对接特定硬件,否则坚持用index.html
curl -I https://yoursite.com/ 看响应头里的 Content-Type 和状态码,比打开浏览器更早暴露 index.html 是否真的被正确加载。前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











