我在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