You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

为GitHub用户页面与项目页面配置自定义域名的问题

解决GitHub Pages自定义域名配置问题

我来帮你一步步搞定这三个需求:根域名重定向到www、www指向用户主页、项目子域名指向项目页面。

1. 根域名(mydomain.tld)重定向到www

你当前设置的根域名A记录指向GitHub官方IP是正确的,但还需要补充重定向规则:

  • 登录你的DNS服务商后台,找到URL重定向/转发功能
  • 添加一条规则:将@(根域名)重定向到www.mydomain.tld,选择301永久重定向(对SEO更友好)

如果你的DNS服务商不支持URL重定向,也可以在user.github.io仓库的index.html里添加一段JS实现跳转(不过DNS层面的重定向效率更高):

<script>
if (window.location.hostname === 'mydomain.tld') {
  window.location.href = 'https://www.mydomain.tld' + window.location.pathname;
}
</script>

2. 项目子域名(myproject1.mydomain.tld)的配置

你说的没错,CNAME记录不能指向带路径的地址,但GitHub Pages支持直接给项目仓库绑定子域名,只需两步操作:

第一步:添加DNS记录

在你的DNS区域中新增一条CNAME记录:

myproject1 1800 IN CNAME user.github.io.

注意末尾的.不能省略,确保是绝对域名格式。

第二步:配置GitHub项目仓库

打开你的myproject1仓库:

  • 进入SettingsPages
  • Custom domain输入框中填写myproject1.mydomain.tld
  • 勾选Enforce HTTPS(DNS生效后即可启用,保障访问安全)
  • 点击Save

等DNS解析生效(通常10-30分钟,慢的话可能需要几小时),访问myproject1.mydomain.tld就会直接指向你的项目页面,无需额外路径。

3. 验证配置是否生效

  • nslookup命令检查DNS解析:
    nslookup mydomain.tld
    nslookup www.mydomain.tld
    nslookup myproject1.mydomain.tld
    
    确保根域名返回GitHub的两个IP,www和myproject1子域名返回user.github.io对应的IP。
  • 直接访问各个域名,确认跳转和页面指向都正常。

小提醒:如果开启了HTTPS,GitHub需要时间生成证书,这个过程可能需要10-20分钟,期间访问可能出现证书错误,耐心等待即可。

内容的提问来源于stack exchange,提问作者mpiot

火山引擎 最新活动