自定义域名:从 github.io 到你自己的域名
一句话目标:完成 GitHub Pages 自定义域名配置——把上一课上线的 <用户名>.github.io 地址换成你自己的域名,地址栏不再带 github.io。
开始之前
确认三件事:
- 你已完成《GitHub Pages 上线:免费静态网站托管》,站点能通过默认地址打开。
- 你已经有一个自己的域名。还没买的话,购买流程不在本篇范围,本课只讲绑定。
- 你能登录域名的 DNS 控制台(添加解析记录的地方)。
提醒:GitHub Pages 是公开的静态托管,换域名只是换「门牌号」,站点内容依然公网可见,别往里放隐私信息。
跟我做
第 1 步:先在 GitHub 验证域名,防止被接管
进入 GitHub 的 Pages 设置,把你的域名添加为「已验证域名」,按页面提示在 DNS 控制台添加它要求的验证记录,然后回到 GitHub 完成验证。
预期结果:域名显示为已验证。先做这一步,是把域名提前绑定到你的账号,防止别人抢先把它接到自己的 Pages 站点上。
第 2 步:在 DNS 控制台添加解析记录
给域名加两条记录:
www子域:CNAME 记录,指向<用户名>.github.io。- 裸域(不带 www 的主域名):A、ALIAS 或 ANAME 记录,指向 GitHub Pages 的服务器 。
官方推荐用 www 子域做主域名,配置最省事。
预期结果:用解析查询工具查 www.你的域名,能看到它指向 <用户名>.github.io。
第 3 步:在仓库设置里绑定自定义域名
打开站点仓库,进入 Settings → Pages,在 Custom domain 填入你选定的域名(推荐 www.你的域名),保存。再检查仓库发布目录里的 CNAME 文件,内容应该就是你的域名;没有就手动建一个。
预期结果:解析生效后,访问 www.你的域名 能打开站点;裸域和 www 的解析都配好时,GitHub 会在两者之间自动重定向,访问任何一个都能到达。
验证
- 浏览器访问
www.你的域名,内容和<用户名>.github.io一致。 - 打开仓库,确认 CNAME 文件存在,内容是你的域名。
- 稍后再访问裸域,确认自动重定向生效。
常见坑
- 跳过验证直接绑定:域名没验证就使用,可能被其他 GitHub 账号声明、流量被接走。先验证,再绑定。
- 只改 CNAME 文件不生效:仓库里 CNAME 文件的改动不会自动为站点添加或移除自定义域名,域名配置必须通过仓库设置(Settings → Pages)或 API 完成。换域名或撤掉域名时,去设置页操作,别只改 CNAME 文件。
- 裸域记录类型不匹配:部分 DNS 服务商不支持 ALIAS/ANAME,裸域只能用 A 记录。嫌麻烦就用官方推荐的 www 子域,一条 CNAME 就够。
- Cloudflare 删项目前先删 CNAME:如果你在 Cloudflare Pages 也部署过这个域名,删项目前先把对应的 CNAME 解析记录删掉,否则记录会残留并指向已删除的项目。
- 改完立刻测试就下结论:DNS 生效需要时间,几分钟打不开不代表配置错了,别急着回滚。
下一课
域名只是门面,这条零基础路线到这里基本走完。下一课《术语速查:vibe coding 黑话手册》把全程出现过的名词收进一张速查表,看不懂随时翻。相关阅读:《GitHub Pages 上线:免费静态网站托管》《部署平台对比:免费额度、限制与怎么选》。