域名迁移

  本博客是由 Hexo 搭建的静态网站,使用 Next 主题,部署在 Gitlab,日前由原域名迁移到当前域名,现将迁移的注意事项记录如下: 1. 创建新的blog repo,添加自定义域名,指向新域名的二级域名。 2. 由于原域名下的一些页面已经被搜索引擎收录并会被频繁访问,因此没有直接删掉原repo,而是在每一篇博客中添加一段 HTML 代码,自动跳转到新的页面。 3. 更换域名后,一般是通过301重定向将之前的内容重定向到新域名,但是需要服务器支持。对于静态页面来说,可通过 HTML meta refresh或者JS来实现页面刷新和跳转。现介绍HTML方法,详情请见Refs. 具体操作如下:

  使用 HTML,需要在头文件中添加 <meta http-equiv="refresh" content="5;url=http://baidu.com"> 表明打开页面5秒后跳转到百度首页。当有多个页面需要跳转时,需要在每个页面都添加对应的跳转代码。也就是说,我需要对_post文件夹中的每个文件都进行修改,把内容替换成对应的 HTML 内容。   需要注意的是,markdown 文件中插入 HTML 或者 JS 代码,会自动识别并运行。若不想被执行,则可在每行代码前都放置4个空格。   下面是批量替换的脚本(操作之前记得先备份!):

1
2
3
4
5
6
7
8
9
10
11
from pathlib import Path

content = """
<META HTTP-EQUIV=REFRESH CONTENT="1;URL=http://blog.chembiosim.com/%s/">
"""

p=Path('./')
for fn in p.iterdir():
print(fn)
with open(fn.name,'a+',encoding="utf-8") as f:
f.write(content%fn.stem)

Ref: - Hexo 网站改版 - 刷新页面和跳转