GitHub Pages 必须显式启用并配置发布源才能生效,不能仅靠上传index.html;个人站点需用username.github.io命名仓库且放main分支根目录,项目站点则需在Settings→Pages中指定分支和文件夹,否则将返回404或显示代码浏览页。
直接把 index.html 丢进任意 GitHub 仓库根目录,不会自动变成可访问的网页——GitHub Pages 不会扫描整个仓库去“找” index.html。它只在你明确启用并配置好发布源后,才从指定位置(如 main 分支的 / 或 /docs 目录)读取文件。
常见错误现象:404 Page not found,或者页面打开是 GitHub 的代码浏览界面,而不是渲染后的 HTML。
username.github.io 这种仓库名(username 替换为你的 GitHub 用户名),且内容放在 main 分支根目录main 分支的 / (root) 或 /docs 目录,选错就找不到 index.html
进入仓库 → Settings → 左侧菜单点 Pages → 在 Build and deployment 区域设置:
Deploy from a branch
main(或 master,取决于你主分支名)/(root)(如果你的 index.html 就在仓库根目录);如果放进了 docs/ 目录,就选 /docs
保存后,GitHub 会自动构建(通常几秒到一分钟)。页面右上角会出现绿色提示条,显示类似 Live at https://www.php.cn/link/3d22394c88a8a55ffd228fc505045645 —— 这才是你要访问的 URL。
立即学习“前端免费学习笔记(深入)”;
注意:https://github.com/username/repo-name/index.html 是 GitHub 的原始文件预览链接,浏览器会直接下载或显示源码,**不是** GitHub Pages 渲染效果。
index.html 里写的相对路径可能在 Pages 上失效GitHub Pages 发布后,URL 路径结构变了。比如你用项目仓库方式部署,实际访问地址是 https://www.php.cn/link/3d22394c88a8a55ffd228fc505045645,那么所有 CSS、JS、图片的相对引用都会以这个路径为基准。
常见错误现象:页面空白、样式丢失、控制台报 Failed to load resource: the server responded with a status of 404 ()。
<img src="logo.png"> 没问题(假设 logo.png 和 index.html 同级)<script src="js/app.js"> 时,浏览器会请求 https://www.php.cn/link/3d22394c88a8a55ffd228fc505045645js/app.js,不是 https://username.github.io/js/app.js
<base href="/"></base>,会导致所有相对路径被强行指向根域名,项目页就全挂了建议:开发阶段就按子路径(/repo-name/)来组织资源引用,或用 ./ 显式声明当前目录起点,避免隐式依赖根路径。
GitHub Pages 部署成功后,访问的是生成的二级域名或子路径,不是原始仓库地址。容易忽略的点:
https://,且大小写敏感(Repo-Name ≠ repo-name)Ctrl+Shift+R 或 Cmd+Shift+R)index.html 不在所选分支/目录下)最常被跳过的一步:没等 GitHub 页面右上角那个绿色提示出现就急着刷新——它没出现,说明还没部署完,刷新也没用。