Github Pages显示README而非index.html的异常问题咨询
问题成因
Github Pages 存在默认 fallback 逻辑:当你配置的发布源根路径下,找不到标准命名的index.html入口文件时,服务会自动将同目录下的README.md渲染为首页返回,触发该问题的常见场景有三类:
- 入口文件位置错误:
index.html没有直接放在发布源的根目录,而是嵌套在src、dist等子文件夹内,服务扫描根目录时无法识别到入口 - 发布配置不匹配:Pages后台配置的发布分支/发布目录和实际存放静态文件的位置不一致,比如选了main分支根目录作为发布源,但实际带
index.html的静态文件都存放在docs子目录或gh-pages分支中,配置指向的路径下只有README文件 - 文件名不符合规范:Github Pages运行在Linux环境,文件识别大小写敏感,如果入口文件命名为
Index.html、index.HTML等非全小写格式,服务无法将其识别为合法首页入口,就会触发fallback
修复步骤
- 校验入口文件
首先确认你计划作为发布源的目录下,直接存在全小写命名的index.html文件,不要将其嵌套在多层子文件夹中。如果站点是前端项目打包生成的,需要把打包后产物目录(通常是dist)内的所有文件,直接放到发布源对应路径的根层级。 - 修正Pages发布配置
进入仓库设置的Pages配置页,核对Source板块的分支、目录选择和实际文件存放位置匹配:- 若直接使用main分支根目录发布,确认main分支根目录存在
index.html - 若使用/docs目录发布,将所有静态资源(含
index.html)放到仓库根目录的docs文件夹下,再选择main分支的/docs目录作为发布源 - 若使用独立gh-pages分支发布,确认gh-pages分支根目录直接存放
index.html和其他静态资源
- 若直接使用main分支根目录发布,确认main分支根目录存在
- 验证部署结果
配置修改后,到仓库Actions页面查看Pages部署工作流是否运行成功,部署完成后使用Ctrl+F5强制清除浏览器缓存访问站点,避免本地缓存旧的README内容导致误判。
注意:只要发布源根路径下存在合法的
index.html文件,Github Pages会优先加载该文件作为首页,不会再渲染README内容。
内容的提问来源于stack exchange,提问作者rafflewinner64
相关产品推荐
相关产品推荐

