Hexo全文搜索地址错误
2021-04-05 20:05
≈ 554字
≈ 2分钟
Hexo搭好已经6天了,正常使用感觉非常好,今天发现了一个问题,在使用全文搜索的时候,如果你当前的页面不是首页,那么搜索出来的地址是错误的。
跟踪了一下错误地址,发现是额外增加了当前地址造成的。
用我的网站举例,比如说当前的地址是:https://www.igerm.ee/categories/gossip/
,然后我随便搜索一个内容
第一个文章的实际地址应该是:https://www.igerm.ee/2021/04/04/tech/Hexo美化优化极致追分/
但是添加在a
标签里面的地址是:https://www.igerm.ee/categories/gossip/2021/04/04/tech/Hexo美化优化极致追分/
这样就导致点击标题无法进入文章页面,而进入了404页面
初步猜测有可能是地址自动拼接造成的,看一下源码,我相信search
部分如果没有特殊需求,大家的源码都是复制官方插件的demo
,那么咱们的应该是一致的,从isMatch
部分开始:
1 | if (isMatch) { |
第二行的str
就是输出a
标签的地方,可以看到我已经在前面添加了"<%- theme.avatar.path %>"
,因为data_url
里面的地址是文章地址去掉网站地址的部分,如果你不在前面补全网址,那么在页面上就会自动以当前页面的地址进行拼接,也就造成了上面提到的错误,这里我将我自己网站主地址拼接完整,那么搜索出来的地址就没问题了。