通过DNS多个GitHub页面和自定义域

时间:2012-05-21 13:14:14

标签: github dns subdomain cname github-pages

我希望有一个用户页面和多个项目页面由GitHub Pages托管,但可以在 ONE 自定义域下使用(当然,每个GitHub页面存储库都有子域名)。所以我的目标如下:

根据我目前的理解,GitHub Pages仅允许 ONE CNAME资源记录,用于在根目录中的CNAME文件中定义的页面(用户页面和项目页面) Git存储库。 我已经尝试了很多东西(在我的域名提供商EUserv上玩DNS记录和标题重定向,但我只能在一个URL(http://blog.florianwolters.de)下访问我的GitHub用户页面。我知道DNS变化可能需要两天时间。

有人可以向我解释,我如何才能实现上述目标?我无法相信这是不可能的,但我也不是DNS专家等。

如果无法解决上述问题:您建议的解决方法是什么?我确实希望在一个域(以及该域的子域)下访问我的所有GitHub页面。

资源

3 个答案:

答案 0 :(得分:64)

你可以做到。请注意,所有DNS CNAME条目都指向同一主机。

1: github.com/florianwolters/florianwolters.github.com

CNAME文件内容:blog.florianwolters.de

DNS CNAME:博客>的 florianwolters.github.com

2: github.com/florianwolters/pear/tree/gh-pages

CNAME文件内容:pear.florianwolters.de

DNS CNAME:pear>的 florianwolters.github.com

答案 1 :(得分:5)

您可以使用一个 CNAME 资源记录 一个 A 资源与GitHub Pages一起记录。

因此,最后必须决定:

  • 您使用example.orgwww.example.org(将现有的 A记录替换为204.232.175.78)...
  • ...或子域名,例如blog.example.org(使用<username>.github.com创建新的 CNAME记录)。

现在,您必须选择从一个(子)域到另一个域的映射方式:

  • 如果使用第一个,您可以使用从所需子域到example.org的HTTP标头来重定向。
  • 如果使用后者,则必须使用从example.orgwww.example.org到所需子域的标头重定向。

另外,请参阅GitHub Pages Help获取帮助,并查看我的GitHub Pages repository获取示例CNAME文件。

修改:GitHub页面添加了一个详细页面,其中介绍了如何设置自定义域here

答案 2 :(得分:1)

您只能为Git存储库根目录中的CNAME文件中定义的页面(用户页面和项目页面)创建一个CNAME资源记录。

您可以通过在指向florianwolters.github.com的DNS设置中为主机(pear)创建CNAME记录,并在存储库中的cNAME文件中为pear.florianwolters.de

创建条目来规避此问题。