最近碰上了一個(gè)問(wèn)題,七牛云開(kāi)始回收測(cè)試域名,結(jié)果導(dǎo)致我的圖床有些失靈、一些軟件資源都無(wú)法下載。其實(shí)這個(gè)問(wèn)題在前一段不蒜子統(tǒng)計(jì)修改的博客里已經(jīng)有兆頭了。不過(guò)當(dāng)時(shí)沒(méi)注意。最后還是被逼得只能購(gòu)買(mǎi)了域名,各類(lèi)備案,重新搭建圖床。
1 域名購(gòu)買(mǎi)及備案
在阿里云上購(gòu)買(mǎi)域名備案就不具體說(shuō)明了。詳情參加下面的網(wǎng)址。
阿里云的域名備案推薦用阿里云手機(jī)app進(jìn)行,現(xiàn)在已經(jīng)不需要幕布,比原來(lái)簡(jiǎn)化了很多流程。
當(dāng)然如果其他平臺(tái)購(gòu)買(mǎi)域名也是可以的。國(guó)外域名其實(shí)都不需要備案的,不過(guò)七牛云圖床搭建要求主站域名必須備案,反正是比較麻煩。
2 hexo博客自定義域名綁定
hexo博客本身就支持自定義域名的綁定。其實(shí)只需要將原來(lái)github倉(cāng)庫(kù)上的域名轉(zhuǎn)接到新的域名上即可。首先是在hexo博客的source文件夾增加一個(gè)CNAME的文件,寫(xiě)入你的域名。接著在域名控制臺(tái)設(shè)置解析DNS。
設(shè)置如下三個(gè),一個(gè)CNAME,兩個(gè)指向IPV4地址的,其實(shí)給的是github的IP。

這樣設(shè)置完畢后,原來(lái)的網(wǎng)站即轉(zhuǎn)接到新網(wǎng)址。
3 ICP備案與網(wǎng)安備案
ICP備案其實(shí)是阿里云那邊已經(jīng)幫忙提交了。阿里云一般一天時(shí)間幫你審核完畢,即自動(dòng)提交工信部ICP備案,這個(gè)比較好解決。網(wǎng)安備案要求有服務(wù)器。花的時(shí)間比較長(zhǎng)(尤其選交互式網(wǎng)站的話)。我這邊是不小心選了交互式網(wǎng)站。但是建議可以選非交互式的,選www服務(wù)之類(lèi)的。個(gè)人靜態(tài)網(wǎng)站影響不大。網(wǎng)安備案交互式的需要填多個(gè)申請(qǐng)表。
4 七牛云圖床搭建
這個(gè)其實(shí)就是在測(cè)試域名過(guò)期的七牛云對(duì)象存儲(chǔ)服務(wù)上綁定新的自定義域名。填一個(gè)二級(jí)域名。即在你的域名(假定為xxxx.com)面前增加一個(gè)比如cdn.xxxx.com或者qn.xxxx.com都是可以的,這個(gè)隨你的喜歡。創(chuàng)建完成后,就會(huì)有一個(gè)CNAME的域名。復(fù)制之后。到域名控制臺(tái)解析DNS增加新的記錄。

馬賽克部分是你的自定義二級(jí)域名。

這樣子圖床就重新構(gòu)建完成了,只需要在對(duì)應(yīng)的地方做些配置修改即可。
5 批量替換博客的圖片外鏈地址
事實(shí)上這樣子博客圖片外鏈地址全是舊的,很有可能后面圖片都會(huì)失效,一個(gè)一個(gè)改實(shí)在費(fèi)時(shí)費(fèi)力。所以思考了下如何進(jìn)行批量替換,最后想到了最簡(jiǎn)單的方式就是用Python寫(xiě)一個(gè)簡(jiǎn)單的代碼。
import os
#Hexo blog
basepath = '你的markdown文件放置文件夾'
blogfiles = os.listdir(basepath)
for i in range(0, len(blogfiles), 1):
blogfilesuse = blogfiles[i]
blogfilespath = basepath + '/' + blogfilesuse
blogfile = open(blogfilespath)
blogf = blogfile.read()
blogf = blogf.replace('測(cè)試域名1', '新子域名1')
blogf = blogf.replace('測(cè)試域名2', '新子域名2')
blogf = blogf.replace('測(cè)試域名3', '新子域名3')
blogf = blogf.replace('原二級(jí)域名', '新域名')
outputpath = '輸出路徑'
outfile = outputpath + str(blogfiles[i])
outf = open(outfile, 'w+')
outf.write(blogf)
outf.close()
blogfile.close()
這樣一瞬間就搞定了,至于其他平臺(tái)的博客(修改域名前的這些博客外鏈可能就懶得修復(fù)了)只能說(shuō)聲抱歉了,如果你們想看博客的話,歡迎看自己搭建的這個(gè)博客。
6 將備案信息添加到網(wǎng)頁(yè)底部
最后一步是將備案信息添加到網(wǎng)頁(yè)底部。此處只針對(duì)NexT主題,其他主題也是類(lèi)似。只需要找到NexT主題文件夾下的themes\next\layout_partials下的footer.swig。在endif前面加入以下的代碼。
<div class="BbeiAn-info">
{{ __('XICP備')}} -
<a target="_blank" >你的ICP備案號(hào)</a>
</a>|
<a target="_blank" style="color:#f0d784;text-decoration:none;padding-left:30px;background:url(將圖標(biāo)傳到圖床上附上外鏈) no-repeat left center" rel="nofollow">{{ __('X公網(wǎng)安備 備案號(hào)') }}</a>
</div>
最后感謝下一些參考的博客,并附上鏈接。
參考博客: