index.html 是服务器默认查找的首页文件名,因其被预设在欢迎文件列表首位;Home.html 等自定义文件名需手动配置服务器(如 Nginx、Apache、Tomcat)的欢迎文件列表或重写规则才能作为首页生效。

index.html 是服务器默认查找的首页文件名
绝大多数 Web 服务器(如 Nginx、Apache、Tomcat)在收到根路径请求(比如 GET /)时,会按预设顺序尝试查找一组“欢迎文件”(welcome files),index.html 就是其中最常见、且通常排在第一位的默认值。它不是 HTML 语法的一部分,而是服务器配置层面的约定。
你把文件命名为 Home.html,服务器不会自动识别它为首页——除非你手动修改配置,把它加进欢迎文件列表,并确保位置靠前。
- Apache 默认 welcome-file 列表通常是:
index.html、index.htm、index.php等 - Nginx 的
index指令默认也只写index index.html index.htm index.php - Tomcat 的
web.xml中welcome-file-list若没显式包含Home.html,就不会触发
Home.html 只是一个普通 HTML 文件名,无特殊语义
Home.html 和 about.html、contact.html 一样,只是开发者自定义的文件名。浏览器打开它没问题,但用户访问域名根路径时不会自动加载它——除非你做了跳转、重写或配置干预。
容易踩的坑:
立即学习“前端免费学习笔记(深入)”;
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
- 误以为改个名字叫
Home.html就能当首页用,结果 404 或跳到别的页面 - 在 Nginx 中只改了
root目录,却忘了同步更新index指令,比如漏掉Home.html - 在 Tomcat 中把
Home.html放进webapp/,但web.xml里welcome-file还是只有index.jsp,导致优先加载了 JSP
改用 Home.html 当首页,必须显式配置
这不是改个文件名就能生效的事,得动服务器或框架配置:
- Nginx:把
index Home.html index.html;写进server块 - Apache:在
.htaccess或虚拟主机配置中加DirectoryIndex Home.html index.html - Tomcat:在
WEB-INF/web.xml的welcome-file-list里插入Home.html,并注意顺序——排越前越优先 - 静态托管平台(如 GitHub Pages、Vercel):多数不支持自定义 welcome-file,
index.html是硬性要求,Home.html必须靠redirect或前端路由兜底
大小写和扩展名差异会影响实际加载
Linux 系统下文件名区分大小写,Home.html ≠ home.html ≠ INDEX.HTML。如果服务器运行在类 Unix 环境(绝大多数生产环境),而你本地开发用 Windows 测试成功,上线后很可能 404——因为上传时大小写被忽略,但服务器找不到匹配项。
另外,.htm 和 .html 在大多数服务器中被视为等价,但某些老旧系统或嵌入式服务可能只认其一;建议统一用 .html 避免歧义。
真正起作用的从来不是文件名本身,而是服务器是否「知道该找它」以及「在什么时候找」。别依赖直觉,查配置、看日志、测响应头里的 Content-Location 才算落地。


















