我有一个gh-pages分支在我的一个http://github.com回购。如果我访问http://myuser.github.com/myrepo, GitHub项目页面可以正常工作

我想设置一个自定义域(myexample.com),将提供这个项目页面。我需要myexample.com和www.myexample.com来提供这些项目页面。

GitHub页面帮助说要在DNS中创建A记录和CNAME记录。A记录是有意义的,但我不知道在我的DNS中做什么CNAME记录。

gh-pages文档说要为'charlie.github.com'做一个CNAME记录,这是一个用户页面存储库。我没有用户页面存储库-我只有一个项目存储库和gh-pages分支,我想用于myexample.com和www.myexample.com。

我是否需要创建一个用户页面存储库,以便可以将我的项目页面用于www.myexample.com和myexample.com?

我只是尝试一下,但我想确保这将工作,因为我已经www.myexample.com活,不想犯错误。

我发邮件给GitHub支持,他们的回复是

据我所知,你不能让两者指向同一页。

我很难相信他们只支持项目页面的A记录。

以前有人成功做到过吗?


当前回答

我想分享我的步骤,这与rynop和superluminary提供的步骤有点不同。

A唱片公司是完全一样的,但是 而不是为www创建CNAME,我更喜欢重定向到我的空白域(非www)

该配置引用了首选域的引导。www到非www的域设置或反之,在每个域提供程序上可以是不同的。因为我的域在GoDaddy下,所以在域设置下,我使用子域转发(301)设置它。

作为指向Github存储库的域的结果,它将给出master和gh-page的所有url。

除了上面的CNAME文件,你可能需要完全绕过GitHub Pages上的Jekyll处理,在你的页面repo根目录下创建一个名为.nojekyll的文件。

其他回答

我想分享我的步骤,这与rynop和superluminary提供的步骤有点不同。

A唱片公司是完全一样的,但是 而不是为www创建CNAME,我更喜欢重定向到我的空白域(非www)

该配置引用了首选域的引导。www到非www的域设置或反之,在每个域提供程序上可以是不同的。因为我的域在GoDaddy下,所以在域设置下,我使用子域转发(301)设置它。

作为指向Github存储库的域的结果,它将给出master和gh-page的所有url。

除了上面的CNAME文件,你可能需要完全绕过GitHub Pages上的Jekyll处理,在你的页面repo根目录下创建一个名为.nojekyll的文件。

I just discovered, after a bit of frustration, that if you're using PairNIC, all you have to do is enable the "Web Forwarding" setting under "Custom DNS" and supply the username.github.io/project address and it will automatically set up both the apex and subdomain records for you. It appears to do exactly what's suggested in the accepted answer. However, it won't let you do the exact same thing by manually adding records. Very strange. Anyway, it took me a while to figure that out, so I thought I'd share to save everyone else the trouble.

如果你想知道如何让你的域名显示为www.mydomain.com,而不是将www请求重定向到 Mydomain.com,试试这个:

g -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

截至2013年8月29日,Github的文件声称:

警告:像http://username.github.io/projectname这样的项目页面子路径不会被重定向到项目的自定义域。

现在事情容易多了!

更新您的Apex域(@)记录到点

192.30.252.154 192.30.252.153

编辑你的自定义域域在你的github回购设置。

www等子域名可以更新为CNAME到apex域名。