Github Pages頁面重定向到新網(wǎng)址,實(shí)現(xiàn)域名跳轉(zhuǎn)

1、前言

最新還是決下心來換域名啦!從 http://ihtc.cc 換成 https://ihtcboy.com !然后問題就來了,以前文章的鏈接打開404了,舊域名也訪問不通,這樣子不行呢!用了2年多的舊域名,在百度谷歌還是積累了一些爬蟲,還有很多分享到第三方平臺(tái)的文章呢!想一想,還是想救一救它!!!

2、準(zhǔn)備工作

首先,因?yàn)槭?個(gè)域名,所以我分別用2個(gè)GitHub賬號(hào)設(shè)置對(duì)應(yīng)的Repo地址解析。

域名 Repo
ihtc.cc HeTianCong.github.io
ihtcboy.com iHTCboy.github.io

3、域名重定向

首先要解決的問題是 ihtc.cc 重定向到 ihtcboy.com,在網(wǎng)上搜索到,域名的重定向可以有以下3種方法(如果還有其它,歡迎大家補(bǔ)充!):

  1. 域名轉(zhuǎn)發(fā)
  2. 301重定向
  3. JS跳轉(zhuǎn)

方法一,域名注冊(cè)商支持域名轉(zhuǎn)發(fā)功能才行!放棄~
方法二, 就是Web 服務(wù)器(這里是GitHub)給訪問老域名的請(qǐng)求返回一個(gè) 302,然后跳轉(zhuǎn)到新域名上。考慮到使用的GitHub托管服務(wù)是不可能配置 Web 服務(wù)器的,也只能放棄~

最后就是剩下JavaScript 實(shí)現(xiàn),在 HeTianCong.github.io 新建
index.html 文件,內(nèi)容為:

<script type="text/javascript">window.location.;</script>

解析:

index.html就是訪問 ihtc.cc 時(shí),GitHub 默認(rèn)打開的頁面,所以在里面用JS重寫向到新的域名,這樣就解決了舊域名重寫向新網(wǎng)址的問題啦!!

4、文章重定向

舊的文章鏈接:

http://ihtc.cc/2018/02/25/2018-02-25%20_Gitment評(píng)論功能接入踩坑教程/

既然要重定向到新的域名,,就不可能在舊的Repo里增加全部舊文章吧(雖然方案是可行),但是這樣又起不到讀者知道新域名的問題,硬要搞2個(gè)Repo,那就沒有前面的重定向必要啦!!!

最后想到舊的鏈接訪問不通時(shí),表現(xiàn)形式:
404
There isn't a GitHub Pages site here.

那么在 Repo 下建立一個(gè) 404.html,這樣是不是就可以拿到訪問文章的鏈接,然后就你所欲為!(拿舊域名替換成新域名就可以啦!)馬上就開始行動(dòng)吧!

404.html 文件,內(nèi)容為:

<script src="http://cdn.bootcss.com/purl/2.3.1/purl.min.js"></script>

<script>
var url = purl();
if (url.attr('host') == 'ihtc.cc') {
    var old_url = url.attr('source');
    var new_url = old_url.replace('ihtc.cc', "ihtcboy.com");
    window.location.replace(new_url); 
}else if (url.attr('host') == 'www.ihtc.cc') {
    var old_url = url.attr('source');
    var new_url = old_url.replace('www.ihtc.cc', "ihtcboy.com");
    window.location.replace(new_url);
}else {
    window.location.;
}
    
</script>

上面js是放在 404.html 里面,當(dāng)文章訪問不通時(shí)會(huì)顯示 404.html 頁面,這時(shí)就會(huì)直接調(diào)用js判斷域名,然后替換成新域名來訪問!

最后實(shí)踐發(fā)現(xiàn),這個(gè)方法可行!!!(當(dāng)然,有些禁止js運(yùn)行的瀏覽器這些人群就被忽略吧,不屬于大多數(shù)人的世界-.-)

從瀏覽器訪問 www.ihtc.cc/xxxihtc.cc/xxx 的讀者,都會(huì)被重定向到 ihtcboy.com!

最后舊的Repo就是這樣:


image.png

以上全部的配置內(nèi)容可參考 HeTianCong.github.io

5、總結(jié)

剛開始是想放棄,因?yàn)榻?jīng)常在谷歌搜索文章里,常常發(fā)現(xiàn)404的 There isn't a GitHub Pages site here.,都是懷疑作者域名過期或變更等原因?qū)е拢┛陀譀]有搭建自己的后臺(tái)服務(wù)器,就只能不了而之,舊的讀者從此就與這個(gè)博客網(wǎng)站失聯(lián),覺得是有點(diǎn)可惜!

所以,今天的這個(gè)文章,希望對(duì)愿意寫文章,有又變更域名需求的博客同仁來說,希望是一個(gè)更好的開始!

6、參考


  • 如有疑問,歡迎在評(píng)論區(qū)一起討論!
  • 如有不正確的地方,歡迎指導(dǎo)!


注:本文首發(fā)于 iHTCboy's blog,如若轉(zhuǎn)載,請(qǐng)注來源

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,287評(píng)論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,923評(píng)論 18 139
  • 轉(zhuǎn)載http://www.cnblogs.com/bxm0927/p/6927340.html 大概流程: 1. ...
    阿de牧閱讀 6,827評(píng)論 3 32
  • 昭君出塞 漢元帝時(shí)代,國(guó)內(nèi)政治、經(jīng)濟(jì)開始走下坡路,但對(duì)外關(guān)系卻機(jī)緣巧合地獲得了相當(dāng)大的成果。事情的起源是匈奴衰弱,...
    赤軍閱讀 1,362評(píng)論 0 4
  • 今天在公交車上正聽著歌,無意間扭頭就看到一個(gè)女生,你都不知道有多像你,然后我就故意的跟朋友聊天,可還是激動(dòng)成狗,...
    歲月長(zhǎng)衣裳不薄閱讀 317評(píng)論 0 1