GitHub Pages同一仓库如何将master分支绑定到自定义子域名
master分支绑定master.example.com子域名操作步骤
以下步骤和你之前配置dev分支绑定test.example.com的逻辑基本一致,按顺序操作即可:
1. 配置域名DNS解析
- 登录你的域名服务商解析控制台,新增1条CNAME解析记录
- 主机记录值填
master - 记录值填你的GitHub Pages默认域名,格式为
<你的GitHub用户名/组织名>.github.io,不要带仓库路径后缀 - TTL保持默认配置即可,一般设为600秒(10分钟)
- 主机记录值填
注意:不要把CNAME记录指向具体的仓库地址,直接指向github.io根域名即可,GitHub会自动完成后续路由匹配。
2. 仓库侧GitHub Pages配置
- 打开目标GitHub仓库的
Settings页面,侧边栏找到Pages配置入口 - 在
Source配置块,下拉选择部署分支为master,部署目录选择默认的根目录/ (root),点击Save保存配置 - 找到
Custom domain输入框,填入master.example.com后点击保存- 保存后GitHub会自动在master分支根目录生成一个内容为
master.example.com的CNAME文件,后续代码合并、提交时注意不要误删或覆盖这个文件
- 保存后GitHub会自动在master分支根目录生成一个内容为
- 等待GitHub自动完成HTTPS证书签发,当页面上的
Enforce HTTPS复选框变为可点击状态时,勾选该选项开启强制HTTPS访问
3. 生效校验与常见问题
- 配置完成后一般10-30分钟即可正常访问,部分网络环境下DNS解析生效最长可能延迟到1小时,不用反复修改配置
- 如果访问出现404错误,先检查master分支根目录的
CNAME文件内容是否准确,有没有多余空格、换行;再本地执行nslookup master.example.com确认解析已经生效,返回结果为github.io对应的服务地址即可 - 确保其他分支(比如绑定test.example.com的dev分支、绑定根域名的分支)下的
CNAME文件没有填写master.example.com,避免域名路由冲突 - 如果你是通过GitHub Actions实现多分支独立部署,直接参考dev分支的部署配置,把master分支部署流程里的自定义域名参数替换为
master.example.com即可。
内容的提问来源于stack exchange,提问作者Daniel Martinez
相关产品推荐
相关产品推荐

