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