我在http://github.com的一个回购中有一个gh-pages
分支。 若是我访问http://myuser.github.com/myrepo,GitHub项目页面能够正常工做 git
我想设置一个自定义域(myexample.com)来提供这个项目页面。 我想这两个 myexample.com
和www.myexample.com
就能够提供这些项目的页面。 github
GitHub页面帮助说您在DNS中建立A记录和CNAME记录。 A记录是有道理的,但我不知道在个人DNS中要作什么CNAME记录。 web
gh-pages
文档说要为'charlie.github.com'建立一个CNAME
记录,这是一个用户页面存储库。 我没有用户页面存储库 - 我只有一个项目存储库和一个gh-pages
分支,我想用于myexample.com
和www.myexample.com
。 dom
我是否须要建立用户页面存储库,以便我能够将个人项目页面用于www.myexample.com和myexample.com? 网站
我会尝试一下,但我想确保它可以正常工做,由于我已经有www.myexample.com直播而且不想犯错误。 google
我经过电子邮件发送了GitHub支持,他们的回复是 spa
据我所知,你不能同时指向相同的gh页面。 code
我发现很难相信他们只支持项目页面的A记录。 blog
有没有人成功地作过这件事? github-pages
截至2013年8月29日, Github的文档声称:
警告:项目页面子路径(如http://username.github.io/projectname)不会重定向到项目的自定义域。
对于项目页面而言 , 文档有点使人困惑,而不是用户页面 。 感受你应该作更多,但实际上这个过程很是简单。
它涉及:
您的内容将经过http://nicholasjohnson.com表格的网址提供。
访问http://www.nicholasjohnson.com将返回301重定向到裸域。
重定向将遵循该路径,所以http://www.nicholasjohnson.com/angular的流量将重定向到http://nicholasjohnson.com/angular 。
每一个存储库能够有一个项目页面,所以若是您的存储库已打开,您能够拥有任意数量的存储库。
这是过程:
对于A记录,将@指向如下ip地址:
@: 185.199.108.153 @: 185.199.109.153 @: 185.199.110.153 @: 185.199.111.153
这些是您的内容将从中提供的静态Github IP地址。
对于CNAME记录,请将www指向yourusername.github.io。 请注意尾随句号。 另请注意, 这是用户名,而不是项目名称 。 您还不须要指定项目名称。 Github将使用CNAME 文件来肯定从哪一个项目提供内容。
例如
www: forwardadvance.github.io.
CNAME的目的是将全部www子域流量重定向到GitHub页面,该页面将重定向到裸域。
这是我用于本身网站http://nicholasjohnson.com的配置的屏幕截图:
将名为CNAME的文件添加到gh-pages分支中的项目根目录。 这应该包含您要提供的域。 确保你提交并推送。
例如
nicholasjohnson.com
此文件告诉GitHub使用此repo来处理此域的流量。
如今等待5分钟,您的项目页面如今应该是实时的。
我刚刚发现,若是您使用PairNIC ,我只须要启用“自定义DNS”下的“Web转发”设置并提供username.github.io/project地址便可。自动为您设置apex和子域记录。 它彷佛彻底符合接受的答案中的建议。 可是,它不会让您经过手动添加记录来完成相同的操做。 很奇怪。 不管如何,我花了一段时间才弄明白,因此我想我会分享给别人解决的麻烦。
我想与你们分享个人步骤是经过提供哪些有点不一样rynop和superluminary 。
A
记录彻底相同可是 www
建立CNAME
我宁愿将其重定向到个人空白域( non-www
) 此配置指的是首选域的指导。 www
到non www
的域设置或反之亦然能够在每一个域提供商上不一样。 因为个人域名在GoDaddy下,所以在域名设置下我使用子域转发 (301)进行设置。
做为将域指向Github存储库的结果,它将为master
和gh-pages
分支提供全部URL,相似于我在下面列出的那些到达首选域:
主
经过在master
分支上建立CNAME
文件(在个人用户存储库中检查它)。
http://hyipworld.github.io/
http://www.hyip.world/
http://hyip.world/
GH-页
经过在gh-pages
分支上建立相同的CNAME
文件(在个人项目存储库中检查它)。
http://hyipworld.github.io/maps/
http://www.hyip.world/maps/
http://hyip.world/maps/
做为上述CNAME
文件的补充,您可能须要经过在页面repo的根目录中建立名为.nojekyll
的文件来彻底绕过 GitHub页面上的Jekyll处理 。
若是您想知道如何让您的域名显示为
www.mydomain.com
而不是将www
请求重定向到mydomain.com
,请尝试如下操做:
gh-pages分支上的CNAME文件将有一行:
www.mydomain.com
(而不是mydomain.com
)
不管您对重定向的偏好(换句话说,不管您在gs-pages分支上的CNAME文件中是什么), 使用您的DNS提供程序 ,都应该像这样设置:
A @ 192.30.252.154 A @ 192.30.252.153 CNAME www username.github.io