FEB 6TH, 2012 |
COMMENTS之前我寫過
淺談github頁面域名綁定和
再談github頁面域名綁定,在后文提到的域名跳轉(zhuǎn)方法是錯的。本文提供了一種正確的方法。
為什么要跳轉(zhuǎn)域名
假設(shè)github上的用戶名是 username,創(chuàng)建代碼庫名為username.github.com的代碼庫,在master分支下建立github頁面,設(shè)置好域名為 mydomain.com ,則用http://username.github.com訪問頁面github會自動跳轉(zhuǎn)到http://mydomain.com。
但是如果在已經(jīng)設(shè)置了username.github.com域名之后,把項(xiàng)目代碼庫repo的gh-pages分支下的網(wǎng)站設(shè)置域名 mydomain2.com ,用http://username.github.com/repo訪問的時(shí)候只會自動跳轉(zhuǎn)到http://mydomain.com/repo,不會跳轉(zhuǎn)到http://mydomain2.com 。雖然http://mydomain.com/repo的形式也可以訪問,但是用于網(wǎng)頁地址里相對路徑的不同,造成很多資源(比如css和js文件)無法訪問,網(wǎng)頁變得面目全非,例如
http://hsatac.github.com/octo/,它實(shí)際綁定的域名應(yīng)該是
http://blog.hsatac.net/,前者不能正常顯示。
用javascript實(shí)現(xiàn)域名跳轉(zhuǎn)
原來我以為用.htaccess文件可以實(shí)現(xiàn)網(wǎng)址跳轉(zhuǎn),后來發(fā)現(xiàn)當(dāng)初跳轉(zhuǎn)成功是因?yàn)闉g覽器緩存了解析的域名,給github發(fā)信咨詢,得到的回復(fù)是github現(xiàn)在還不支持.htaccess,以后可能會考慮把這個功能加上。
我也考慮過用下面的代碼實(shí)現(xiàn)轉(zhuǎn)址
1<meta http-equiv="refresh" content="0; url=http://mydomain2.com">
但是,問題是這樣跳轉(zhuǎn)后其實(shí)還是轉(zhuǎn)到了自己這個網(wǎng)頁,只不過換了個地址。這樣這段代碼會反復(fù)執(zhí)行,在firefox和chrome下沒有感覺,但是在IE下就很明顯了。
我想到了用javascript來檢測網(wǎng)頁的地址,然后跳轉(zhuǎn)到目標(biāo)地址。只需要將將下面的代碼放到<head>和</head>之間,注意把網(wǎng)址替換成自己的。
1234567<script language="javascript" type="text/javascript">if (location.href == "http://chen.yanping.me/art/") { window.location.replace("http://art.yanping.me/");}</script>
注意:域名末尾的/一定要有,我之前就因?yàn)闆]發(fā)現(xiàn)這點(diǎn),所以才浪費(fèi)了很長時(shí)間。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報(bào)。