我有一个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记录。

以前有人成功做到过吗?


当前回答

所选的答案很好,但太长了,所以你可能看不清重点:

我在访问www.example.com时遇到了SSL错误,但如果我去example.com,它可以正常工作

如果同样的情况发生在你身上,可能你的错误是在DNS配置中设置:

CNAME www.example.com --> example.com  (WRONG)

但是,你要做的是:

CNAME www.example.com --> username.github.io  (GOOD)

or

CNAME www.example.com --> organization.github.io  (GOOD)

这是我的错误

其他回答

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

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

简短的回答

这些详细的解释很好,但是OP(和我)的困惑可以用一句话来解决:“将DNS直接到你的GitHub用户名或组织,忽略特定的项目,并在你的项目存储库中添加适当的CNAME文件:GitHub将根据存储库中的文件向正确的项目发送正确的DNS。”

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

现在事情容易多了!

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

192.30.252.154 192.30.252.153

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

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