URL持久化
我们可以发现hexo默认生成的文章地址路径是 【网站名称/年/月/日/文章名称】。比如这篇博客原来的测试页面链接:http://localhost:4000/2019/11/10/hexo+yilia添加URL持久化
这种链接对搜索爬虫是很不友好的,第一它的url结构超过了三层,太深了。第二使用了中文路径。这样会导致一个问题,在某些聊天工具或分享链接的时候会造成url转码变成很长一串难以读写的链接。而且如果你的页面之前被收录或被转载后,当你再次编辑过后可能会造成之前的url失效带来不必要的404, 比如下面这样:
http://localhost:4000/article/faa5d14 。别担心,我们有好办法来解决它。
第一种方式:
打开hexo的配置文件:H:\Hexo\_config.yml
,找到permalink
1 | #permalink: :year/:month/:day/:title/ |
上面这种方式是去掉了年月日,保持网站最多三层。
第二种方式:(推荐)
安装 hexo-abbrlink
插件:
1 | npm install hexo-abbrlink --save |
配置H:\Hexo\_config.yml
,查找permalink
,修改成这样:
1 | # permalink: :title/ 将之前的注释掉 |
安装后的网址形如:http://localhost:4000/article/c5f6d65b.html
注意:配置成功需要重新生成文件hexo clean,hexo g
,不然会出现undefined
的问题,如下:
1 | $ npm install hexo-abbrlink --save |
弊端
其实使用这个也有弊端:
- 按照原格式,发布后,在github仓库中你能很清楚地看到你写博客的日期,因为是按照网址分文件夹的。使用该插件后就看不到了。
分类和标签路径名英文化
上面我们已经实现将文章的URL简短化和英文化了,但是如果我们的标签和分类有中文,这个插件是控制不了的,
比如有个生活的标签,该标签下的所有文章汇总如下:http://localhost:4000/tags/生活/,还是会出现中文,其实这个问题hexo官方自带解决方法,详见:hexo-configuration:分类-amp-标签
截个图:
站点的配置文件H:\Hexo\_config.yml
有category_map
和tag_map
配置,即分类和标签的别名(映射),举个例子:
1 | # Category & Tag |
这样标签生活
的访问网址为:http://localhost:4000/tags/life/,分类同理。
发布时间: 2019-11-10
最后更新: 2020-04-10
本文标题: hexo+yilia添加URL持久化
本文链接: https://www.yansheng.xyz/article/faa5d14.html
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!
