B65024a818a1283259729da5481f388f

问一下github pages域名绑定的问题

2011-12-22 20:41:27 +0800ypchenOctopress 節點 中發起
最後由 ypchen2011-12-25 18:15:41 +0800回應 , 1586次閱讀

比如我的用户名是username,我发现我只能给User page设置域名,其他的repo page的域名自动地成了二级目录。

比如给User page设置域名www.mydomain.com,我有个repo名为reponame,那么reponame的页面的域名自动成了www.mydomain.com/reponame

但是见到gitready的页面 gitready.com 也有别的语言的版本,域名分别是en.gitready.com , fr.gitready.com等等 这些是如何设置的呢?

gitready是个organization帐号 地址是 http://github.com/gitready 大家可以研究一下,能看出每个语言版本的repo里面都有CNAME文件,但是不知道他是如何设置DNS转向的

截至 2011-12-25 18:15:41 +0800,共收到 17 條回應
C814acfd2c0897d2fc20de6800b76293
hSATAC 1樓, 於2011-12-23 10:20:50 +0800回應

CNAME 裡面設置好
你的 domain 商那邊直接指過去 github.com 就可以了
http://github.com/blog/315-cname-support-for-github-pages

B65024a818a1283259729da5481f388f
ypchen 2樓, 於2011-12-23 11:18:55 +0800回應

谁要是知道怎么实现gitready.com的各语言版网站的域名绑定,请回复

请认真看我的问题,不要轻易下结

B65024a818a1283259729da5481f388f
ypchen 3樓, 於2011-12-23 11:19:03 +0800回應

@hSATAC 请把我的问题再看一遍,慢点看

C814acfd2c0897d2fc20de6800b76293
hSATAC 4樓, 於2011-12-23 12:11:59 +0800回應

已經回答了啊
例如 ru.gitready.com
他就是 CNAME 裡面 設 ru.gitready.com
http://github.com/gitready/ru/blob/gh-pages/CNAME
你看看我的 http://blog.hsatac.net/
就這樣設定
http://github.com/hSATAC/octo/blob/gh-pages/CNAME

你每一個 repo 都可以設定自己的 CNAME 的
我有誤解你的問題嗎?

C317e3b04079aa241eb81a8448a11696
cyanglee 5樓, 於2011-12-23 13:42:26 +0800回應

@hSATAC 補充一下 DNS CNAME Record 的部份.
以我的例子是希望把 http://cyanglee.github.com 轉到 http://tech.cyanglee.com.
所以在github上面的CNAME: http://github.com/cyanglee/cyanglee.github.com/blob/master/CNAME

然後 DNS 設定的部份, 需要新增一筆 CNAME Record (以linode為例) :
Hostname: tech
Aliases to: cyanglee.github.com

不知道這樣是否有幫忙回答到問題?

B65024a818a1283259729da5481f388f
ypchen 6樓, 於2011-12-23 13:49:34 +0800回應

@cyanglee 你说的是user page的DNS设置,这个官方网站有讲

我问的是project page的DNS record怎么设置?

B65024a818a1283259729da5481f388f
ypchen 7樓, 於2011-12-23 14:10:42 +0800回應

@hSATAC github上我的确是这样设置的 push了个CNAME 但是对于project page,DNS record上如何设置呢,我试过转向ip,也试过转向http://username.github.com/repo-name的形式,都不行。你是怎么做的呢?你的账号是免费账号吗?

C814acfd2c0897d2fc20de6800b76293
hSATAC 8樓, 於2011-12-23 16:50:11 +0800回應

@ypchen subdomain 設 CNAME 指向 hsatac.github.com (你的personal page url) 就可以了
repo 那邊的 CNAME 檔案也要建立

我用的是免費帳號沒錯

B65024a818a1283259729da5481f388f
ypchen 9樓, 於2011-12-23 18:07:51 +0800回應

#8樓 @hSATAC 好,我们用一个现实的例子吧 请看我建的一个组织账户 http://github.com/ruc
我创建一个主repo名为 ruc.github.com,然后里面也不用放什么吧,然后 我建立一个名为blog的repo,建一个分支gh-pages,放上index.html和CNAME,CNAME的内容是blog.quantr.net
http://github.com/ruc/blog/blob/gh-pages/CNAME

然后我在我的域名商那边设置DNS record,如图(name.com的后台)

这样还是不行啊

C814acfd2c0897d2fc20de6800b76293
hSATAC 10樓, 於2011-12-23 20:35:13 +0800回應

我覺得你的 repo page 沒有建立成功
你看看你的 github notify 有出現 [blog] Page build successful 的訊息嗎?
因為按理說,不管 CNAME 有沒有設置成功,訪問 http://ruc.github.com/blog/ 應該是要有內容的
就像我的 http://blog.hsatac.net <=> http://hsatac.github.com/octo 一樣

您先確定看看跟著官方步驟做有沒有辦法把子 repo pages 建置成功吧

Instructions for setting up username.github.com/repo-name *
Caution: make your working directory clean before you do this (either stash or commit), otherwise this     will lose any changes you've made to your project since the last commit.
  cd /path/to/repo-name
  git symbolic-ref HEAD refs/heads/gh-pages
  rm .git/index
  git clean -fdx
  echo "My GitHub Page" > index.html
  git add .
  git commit -a -m "First pages commit"
  git push origin gh-pages

B65024a818a1283259729da5481f388f
ypchen 11樓, 於2011-12-23 22:31:25 +0800回應

#10樓 @hSATAC rebuild了一下 并且确保blog.quantr.net 指向 ruc.github.com 现在可以了
但是有个问题啊 访问http://ruc.github.com/blog/ 的话 域名不会跳转到http://blog.quantr.net 这可能应该在repo里面index.html来实现了 我不太清楚

另外 我发现访问你的 http://blog.hsatac.net/http://hsatac.github.com/octo/ 效果不同

还有个问题 在以上的操作里 我没有给ruc.github.com这个repo的页面指定域名(没有push任何CNAME文件) 如果有指定域名的话 会不会有冲突了

C814acfd2c0897d2fc20de6800b76293
hSATAC 12樓, 於2011-12-23 22:40:17 +0800回應

@ypchen 沒錯他不會自動跳轉的
也許你可以在 js 裡面檢查 top 實現,如果非要跳轉的話。

至於我的效果不同,是因為 asset 路徑問題,反正我只用我自己的域名,不影響。

每個 repo 可以有自己的 CNAME 檔案
所以不會衝突的。

B65024a818a1283259729da5481f388f
ypchen 13樓, 於2011-12-23 23:14:23 +0800回應

#12樓 @hSATAC 我在网页中用了个meta标签 用 http-equiv="refresh" content="0;url= 实现跳转

我试过了 正如你所言

我之前困惑产生的原因就在于 以为在DNS management那里 不同二级域名 指向的网址是不同的 以为只有username.github.com的页面的域名指向username.github.com

比如 http://username.github.com/repo-name 如果我想给它绑定个域名 subdomain.mydomain.com 我以为在DNS management那里 域名要指向http://username.github.com/repo-name
其实真相是 所有repo的gh-pages页面的域名都指向http://username.github.com

C814acfd2c0897d2fc20de6800b76293
hSATAC 14樓, 於2011-12-23 23:44:47 +0800回應

是的,我在一樓給的連結裡面說明的很清楚的。

B65024a818a1283259729da5481f388f
ypchen 15樓, 於2011-12-23 23:47:08 +0800回應

#14樓 @hSATAC 似乎没那么清楚 否则也不会有人在那里问跟我一样的问题了

I have a website at http://guilhermechapiewski.github.com/simple-db-migrate/. I want to have a http://simple-db-migrate.com pointing to my Github address, but it’s not possible to point my DNS to something like “guilhermechapiewski.github.com/simple-db-migrate”.

Is there any way to solve this problem?

2b7ee16fdd2c0af957187da43715fa93
lidashuang 16樓, 於2011-12-25 13:01:23 +0800回應

不知道解决没? 我现在wiki就是用的project page
http://wiki.osser.me,可以绑定域名

B65024a818a1283259729da5481f388f
ypchen 17樓, 於2011-12-25 18:15:41 +0800回應

#16樓 @lidashuang 解决了 总结如下:

假设你的用户名是username,要绑定一个二级域名的话,那么不管是user page还是project page,在DNS record里增加相应的域名CNAME指向 username.github.com

如果要绑定顶级域名 就建立A指向 指向IP 207.97.227.245

谢谢各位的回答 @hSATAC @cyanglee @lidashuang

需要 登入 後方可回應,如果你還沒有帳號按這裡 註冊