Hexo - 修改访问地址修改永久链接的方法

UTOOLS1574389972529.png

简单两步,轻松搞定。

开头扯几句

在使用后Hexo的时候,我们在编写文章的时候,在内容里面会加一个date标记文章的日期。

1
2
3
4
5
6
title: 阿飞云的世界
tags:
- xxx
categories:
- ddd
date: 2019-11-22 12:02:10

在发布的时候,hexo会根据根目录下的 _config.yml 配置自动生成访问的地址。

1
2
permalink: :year/:month/:day/:title/
permalink_defaults:

比如我的一篇文章,生成的地址:

1
http://www.aflyun.work/2019/07/06/技术之路/一文学会Java死锁和CPU100问题的排查技巧/

这种生成的方式可能存在如下的一些问题:

1、如果文章标题是中文的,访问路径出现了中文字符会引发一些问题

2、路径包含了年月日三个层级,层级太深不利于百度蜘蛛抓取和seo

解决办法就是利用其它的插件来生成唯一的路径,这样就算我们的文件标题随意修改,而不会导致原本的链接失效而造成站点下存在大量的死链

解决方法

也比较简单,网上有几种方法,但是用过后推荐下面这种。

在站点根目录使用 git bash 执行命令:

npm install hexo-abbrlink –save

如我的执行日志:

1
2
3
4
5
6
7
8
aflyun@DESKTOP-J4ORSUT MINGW64 /f/My_WorkSpace/git_project/Blog
$ npm install hexo-abbrlink --save
hexo-site@0.0.0 F:\My_WorkSpace\git_project\Blog
`-- hexo-abbrlink@2.0.5
`-- hexo-fs@0.2.3
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

修改站点配置文件

打开根目录下的 _config.yml 文件,修改如下配置: 注释掉之前的默认配置,添加如下的配置。

1
2
3
4
5
6
# permalink: :year/:month/:day/:title/
# permalink_defaults:
permalink: posts/:abbrlink.html
abbrlink:
alg: crc32 # 算法:crc16(default) and crc32
rep: hex # 进制:dec(default) and hex

重新进行项目的部署 ,就会发现 文章路径变成了 /posts/xxxxx.html 了,可以发现 后缀也添加了 .html

中文目录地址消失,路径变短了,并且 从路径就知道这是个静态页面 ,更加方便了SEO,一切都是这么的美好。

坚持原创技术分享,您的支持将鼓励我继续创作!