浏览器默认查找index.html而非home.html,因主流服务器(如Nginx、Apache)的默认索引列表首位均为index.html;若用home.html作首页,须手动修改服务器配置(如Nginx中添加index home.html)。

浏览器默认找的是 index.html,不是 home.html —— 除非你手动配置服务器或路由规则。
Web 服务器默认首页行为取决于配置,不是文件名本身
Apache、Nginx、Caddy 等主流服务器都内置了“默认索引文件”列表,index.html 几乎总在第一位。比如:
- Nginx 默认
index index.html index.htm index.php - Apache 默认
DirectoryIndex index.html index.cgi index.pl index.php - 本地双击打开 HTML 文件时,浏览器不参与选首页 —— 它只加载你点的那个文件,不存在“优先级”一说
home.html 不会被自动识别为首页,除非你改配置
如果你把页面命名为 home.html,但没做任何配置,用户访问 https://example.com/ 会看到 403(禁止)或 404(未找到),因为服务器找不到匹配的默认索引文件。
- 想让
home.html当首页?得显式修改服务器配置,例如 Nginx 中写index home.html index.html; - Vercel / Netlify 等静态托管平台通常只认
index.html;传了home.html却没设重定向,根路径就打不开 - 前端路由(如 React Router)下,
home.html可能被用作某个路由组件,但它和服务器首页逻辑无关
开发阶段容易忽略的两个坑
很多人在本地测试时误以为“只要文件存在就能被访问”,结果上线后出问题:
立即学习“前端免费学习笔记(深入)”;
- 本地用
file://打开home.html没问题,但部署到 Nginx 后根路径返回 403 —— 因为它没在index列表里 - 写了
<a href="/">首页</a>,本地点击跳转正常(浏览器可能缓存或 fallback),线上却 404 - 某些 CMS 或构建工具(如 Hugo)允许自定义首页模板名,但那是生成阶段的事,和服务器运行时的文件匹配逻辑分开处理
真正起作用的从来不是“哪个名字更合理”,而是服务器 index 指令里写的顺序,以及你有没有控制这个指令。



















