从 Wordpress 迁移到 Hexo 已经有半年多的时间了,但有一个问题一直困扰着我没有解决,那就是站点上很多链接的 href 值都有问题,链接点击后会到一些根本不存在的或错误的页面,比如:
昨天早上的时候,我终于决定,无论如何要找到原因。
最开始我怀疑的是主题的问题,仔细看了好几个相关的问题,并没有发现任何直接写链接的代码。又更换了主题,问题依然存在,于是便排除主题的原因。
我把所有的 source/_posts 中的文件复制到一个完全新建的 Hexo 站点中来,只做最简单的配置,运行起来后,发现所有的链接完全正常。于是复制进来主题目录,依然是正常的。再复制站点的 _config.yml 文件——这下便不正常了。
接着就简单了,一个一个找具体是哪一个配置有问题。几次尝试,终于发现了罪魁祸首——原来是相对链接的配置项:
我最开始使用的是 Hexo 2.x ,可能那时候默认的 relative_link 配置是 true,而 3.x 中已经默认将其设置为 false ,在 3.x 中,Hexo 的相对链接处理,是有 bug 的。于是便导致了这些问题。