乐闻世界logo
搜索文章和话题

如何设置GitHub Pages将 DNS 请求从子域( e . G . Www )重定向到顶级域( TLD , Apex 记录)?

1 个月前提问
24 天前修改
浏览次数3

1个答案

1

在GitHub Pages上设置一个项目的时候,我们可以配置DNS从子域如www.example.com重定向到顶级域如example.com。这个过程可以分为几个步骤:

1. 设置GitHub Pages仓库

首先,确保你有一个GitHub仓库用于托管你的网站文件。在仓库的设置中,找到"Pages"部分,选择一个分支作为你的发布源。

2. 配置顶级域

在仓库的Pages设置中,你可以添加一个自定义域。这里你应该输入你的顶级域名,比如example.com

3. 更新DNS记录

接下来,你需要登录到你的域名注册商的管理界面,进行DNS设置。

  • 为顶级域名添加A记录
    GitHub 提供了一些IP地址用于A记录,这些需要添加到顶级域名的DNS设置中。例如:

    shell
    185.199.108.153 185.199.109.153 185.199.110.153 185.199.111.153
  • 为www子域添加CNAME记录
    对于子域如www.example.com,你应该添加一个CNAME记录,指向example.com

4. 重定向设置

虽然DNS记录确保了从www到顶级域的解析,有时我们还需要处理HTTP层面的重定向,确保当用户访问www.example.com时,它们被重定向到example.com。GitHub Pages自动处理顶级域的www到非www的重定向,所以一旦DNS正确设置,这部分通常不需用户额外操作。

5. 测试配置

最后,通过访问www.example.comexample.com,确保两者都能正常访问,并且www版本能正确重定向到顶级域名。你可以使用工具如curl来测试HTTP头部信息:

bash
curl -I www.example.com

这应该会显示一个301重定向到example.com

示例

假设我有一个项目,域名是example.com。我按照上述步骤设置GitHub Pages和DNS。一开始,我只在GitHub Pages中设置了顶级域名,并在DNS提供商处为顶级域名添加了A记录。后来我发现访问www.example.com时没有重定向到example.com,于是我为www添加了一个CNAME记录指向example.com。几小时后,DNS生效,一切正常工作,www.example.com 顺利重定向到了 example.com

这种方法确保了无论用户如何输入域名,最终都能统一到一个地址,从而避免了内容重复和分散SEO权重的问题。

2024年8月16日 00:24 回复

你的答案