GitHub项目页面的自定义域
我在我的http://github.com回购协议中有一个gh-pages
分支。 如果我访问http://myuser.github.com/myrepo,GitHub项目页面可以正常工作
我想设置一个自定义域(myexample.com)来提供这个项目页面。 我想这两个 myexample.com
和www.myexample.com
就可以提供这些项目的页面。
GitHub页面帮助表示在DNS中创建A记录和CNAME记录。 A记录是有道理的,但我不知道CNAME记录要在我的DNS中记录。
gh-pages
文档声称为'charlie.github.com'这个用户页面存储库创建一个CNAME
记录。 我没有用户页面存储库 - 我只有一个项目存储库和一个我想用于myexample.com
和www.myexample.com
的gh-pages
分支。
我是否需要制作用户页面存储库才能使用我的项目页面www.myexample.com和myexample.com?
我只是想尝试一下,但我想确保这个工作正常,因为我已经拥有www.myexample.com直播并且不想犯错。
我发邮件给GitHub支持,他们的回复是
就我所知,你们不能指向同一个gh页面。
我很难相信他们只会支持项目页面的A记录。
有没有人成功地做过这件事?
所以我想通了。 詹姆斯麦克劳克林给了我需要的推动力。
要为处理www.yourdomain.com和yourdomain.com的gh-pages Project Pages回购库设置一个自定义域(假设您的回购库中已经有一个gh-pages分支):
yourdomain.com
内容创建一个CNAME文件。 承诺然后推。 cname
记录。 一个用于根尖(@),另一个用于www。 都指向YOURusername.github.io
。 如果您的DNS提供商不支持根尖端(@)上的ALIAS
记录,只需创建指向192.30.252.153
和192.30.252.154
A
记录 等待你的名字服务器更新:
dig yourdomain.com +nostats +nocomments +nocmd
概观
当涉及到项目页面时,文档有点令人困惑,而不是用户页面 。 感觉你应该做得更多,但实际上这个过程非常简单。
它涉及:
你会得到什么
您的内容将通过http://nicholasjohnson.com形式的网址提供。
访问http://www.nicholasjohnson.com将返回301重定向到裸域。
该路径将受到重定向的支持,因此到http://www.nicholasjohnson.com/angular的流量将被重定向到http://nicholasjohnson.com/angular。
每个存储库可以有一个项目页面,因此如果您的回购是开放的,您可以拥有尽可能多的项目。
过程如下:
1.创建一条记录
对于A记录,将@指向以下IP地址:
@: 192.30.252.154
@: 192.30.252.153
这些是您的内容将从中提供的静态Github IP地址。
2.创建一个CNAME记录
对于CNAME记录,将www指向yourusername.github.io。 注意尾随的句号。 还请注意, 这是用户名,而不是项目名称 。 您不需要指定项目名称。 Github将使用CNAME 文件来确定从哪个项目提供内容。
例如
www: forwardadvance.github.io.
CNAME的目的是将所有www子域流量重定向到一个将重定向到裸域的GitHub页面。
以下是我用于自己的网站http://nicholasjohnson.com的配置截图:
3.创建一个CNAME文件
将名为CNAME的文件添加到gh-pages分支中的项目根目录中。 这应该包含你想要服务的域名。 确保你提交并推送。
例如
nicholasjohnson.com
这个文件告诉GitHub使用这个回购来处理到这个域的流量。
等一下
现在等5分钟,你的项目页面现在应该是活的。
如果您想知道如何让您的域名显示为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
链接地址: http://www.djcxy.com/p/7849.html
上一篇: Custom domain for GitHub project pages
下一篇: What is the difference between Forking and Cloning on GitHub?