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
ignorecase = false

参考

BUG反馈:大写开头的标签出现404 #818

hexo 标签、分类,大小写问题导致404错误,原因分析和解决


hexo-更新tag的大小写后标签页出现错误
https://www.yikakia.com/hexo-更新tag的大小写后标签页出现错误/
作者
Yika
发布于
2020年8月9日
许可协议