之前博客的域名不怎么好看,今天发现我经常用的呢称bgme,对应的域名竟然还没有被注册,于是便上NameSile注册了bgme.me的域名。

先注册一年,首年有优惠,一年6美元多。注册完了域名便开始着手迁移博客。

由于我的博客是用nikola生成的静态博客,服务器也是用的github pages,所以迁移起来十分的方便。

  1. 打开posts目录,搜索一下a3s.site的字符串,根据需要把他们替换成bgme.me。
  2. 然后修改 conf.py 中相应条目。
  3. 再修改 CNAME 中的域名,再在DNS中添加一条指向github的CNAME记录。
  4. 最后提交修改后的仓库,并更改gitalk应用中的回调地址。

完成上述四步,便可以在新的地址访问本博客了。

迁移工作到这里算是完成了一半。剩下的工作便是给原域名添加一个跳转,让访问原域名的人可以自动跳转到新的域名。

我最开始想到的办法是先在github上创建一个新仓库,在这个仓库里放几个负责跳转的html文件,把原先的域名指向这个仓库。

这样的做法十分有效,大多数访客可以很自然的跳转。

但这样做是有一些问题的,首先,跳转动作是利用js完成的,如果访客的浏览器禁用了脚本,跳转便无法完成。

其次,由于是利用github pages的自定义404页面来完成这个操作,因此对于原地址的访问,访客得到的是一个404响应。这种做法对于搜索引擎来说是十分不友好的。

既然这种方法不完美,那还有什么更好的方法吗?

现在再想想一般迁移域名的做法吧!

先在备机上完成网站到新域名的迁移工作,确认新的域名可以正常访问后,再修改原服务器的配置,将原站301跳转至新域名。

当初用github pages便是为了节省服务器,现在自然不能通过修改服务器配置让其返回301响应。
  不过幸运的是本博客使用的CloudFlare可以提供这样的功能,只需要配置相应的 Page Rule 即可。

打开 Page Rules 选项卡,创建一条跳转规则,在这里请注意CloudFlare免费版每个网站只能创建3条 Page Rule。

page_rule_1

等规则生效后,访问一下原域名,确认返回的响应为301。

如果返回的响应为301,那么整个博客迁移工作到这里便全部完成。