hexo-更新tag的大小写后标签页出现错误
大小写,永远的痛
前言
在看自己的博客的时候,突然发现我的标签页面很多个 tag 页面打开都是 404 报错。
对多个 tag 查了之后才发现,问题应该是出现在大小写上。
正文
环境
- 本地: Windows10
- 服务器: Debian10
现象
本地运行hexo s
查看到的 tag 页面是正常的,大小写的网址都能区分开,而在服务器上运行时则出现了 404 错误。
原理
参考这个 issue
BUG反馈:大写开头的标签出现404 #818
简单是说就是在Windows
平台的Git
是默认大小写不敏感的,因为Windows
本身就是大小写不敏感的,于是Git
便遵守了平台的规范,默认设置了大小写不敏感,因此当你在本地新建了一个 a.txt
的文件并提交后,又把这个文件重命名为了A.txt
。这个时候你就会出现无法提交的情况。因为Git
默认你的文件大小写不影响,所以你的服务器上只有一个a.txt
存在。
到了我们这个现实的例子上就是原本有个 tag 页面是 git
的,现在改名成了Git
这个时候你会发现本地运行hexo s
,查看这个Git
页面是没问题的,但是到了服务器上就会出现404
错误。而在这个时候你查看git
这个页面的时侯又没有问题了。
知道了原理就好解决了。
解决
到本地的hexo
博客目录下,找到\.deploy_git\.git
这个目录,把这个目录下的config
中的[core]
这一项下的ignorcase
这一项从true
修改为false
。这样就解决了大小写不敏感的问题。
简单地说就是改成这个样子
1 |
|
参考
hexo-更新tag的大小写后标签页出现错误
https://www.yikakia.com/hexo-更新tag的大小写后标签页出现错误/