Web服务器默认查找的文件名是index.html,因其语义为“索引”且被Nginx、Apache等广泛支持,成为事实标准;其他如index.htm、default.html兼容性弱,home.html等需手动配置;Linux服务器严格区分大小写,必须使用全小写index.html。
Web服务器默认查找的文件名是index.html
绝大多数 Web 服务器(如 Nginx、Apache)在收到对一个目录的请求时,不会返回目录列表,而是按预设顺序尝试加载特定文件。这个顺序由服务器配置决定,而index.html几乎总在首位。比如 Nginx 默认的 index 指令是:index index.html index.htm index.php;Apache 的 DirectoryIndex 也类似。只要该文件存在,用户访问 https://example.com/ 就能直接看到它,无需写完整路径。
index 这个名字不是随便选的,它有实际语义
“index” 是“索引”的意思——首页本质就是网站内容的入口和导航中心,通常包含到其他页面的链接,功能上确实像一本书的目录页。这种命名沿用几十年,已成事实标准。你改叫 home.html 或 main.html 并非不行,但必须显式修改服务器配置,否则用户访问根路径会 403(禁止访问)或 404(找不到),尤其在共享虚拟主机或静态托管平台(如 GitHub Pages、Vercel、Netlify)上,基本不支持自定义首页名。
为什么不是 index.htm 或 default.html?
这些文件名确实在部分场景下有效,但兼容性弱于 index.html:
index.htm 是早期 DOS 系统限制 8.3 文件名的遗留,现在纯属历史兼容,现代开发中已无必要
default.html 主要见于旧版 IIS,默认配置里排在 index.html 后面,且多数静态托管服务根本不识别它
home.html、start.html 等完全依赖手动配置,本地测试可能正常,一上线就失效
部署时最容易忽略的一点:大小写敏感
Linux 服务器(占生产环境 95% 以上)对文件名大小写严格区分。写成 Index.html 或 INDEX.HTML,服务器就找不到它,直接返回 403 或 404。即便你在 Windows 或 macOS 本地开发时一切正常,上传后也会挂掉。务必确认文件名是全小写的 index.html,且没有隐藏字符或 BOM 头。
立即学习“前端免费学习笔记(深入)”;
相关文章
《Disney Lorcana: Wilds Unknown》预购开启 首批《Toy Story》及皮克斯卡牌购买指南
07-29
车来了赶车闹钟如何设置
07-29
崩坏星穹铁道余晖残卷巨剑守护打法攻略
07-29
崩坏星穹铁道砂金角色部分背景介绍
07-29
崩坏3雷电芽衣什么时候上线
07-29
玩具熊的五夜后宫4代噩梦气球男孩Nightmare Balloon Boy介绍
07-29