首页 文章

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

提问于
浏览
64

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

根据我目前的理解,GitHub Pages仅允许在Git存储库的根目录中的 CNAME 文件中定义的页面(包括用户页面和项目页面)的 ONE CNAME资源记录 . 我已经尝试了很多东西(在我的域名提供商处使用DNS记录和 Headers 重定向EUserv,但我只能在一个URL(http://blog.florianwolters.de)下访问我的GitHub用户页面 . 我知道DNS更改可能需要两天才能完成 .

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

如果无法满足以上条件:您建议的解决方法是什么?我想要访问一个域(以及该域的子域)下的所有GitHub页面 .

资源

3 回答

  • 63

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

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

  • 5

    您可以将 one CNAME资源记录或 one 资源记录与GitHub Pages一起使用 .

    因此,最后必须决定:

    • 使用 example.orgwww.example.org (用 204.232.175.78 替换现有A记录)...

    • ...或子域名,例如 blog.example.org (使用 <username>.github.com 创建新的CNAME记录) .

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

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

    • 如果使用后者,则必须使用 example.orgwww.example.org 中的 Headers 重定向到所需的子域 .

    另外,请参阅GitHub Pages Help获取帮助,将我的GitHub Pages repository视为示例 CNAME 文件 .

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

  • 1

    你能行的 . 请注意,所有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

相关问题