Hexo博客无法搜索的终极解决方法


以前在Hexo的next主题上遇到了搜索框无法加载出来的问题,已经一系列分析查找,终于完美的解决了Hexo博客的next主题的搜索问题,同理其他Hexo主题解决方法大致相同。这个标题用到了终极有点标题党的感觉了,但是为了SEO我是豁出去了~~ 希望本文可以帮助你们解决问题。

本次是在Hexo博客下的next主题进行测试的。一般Hexo博客无法搜索主要有2种以下情况:

  • 搜索插件没有配置好
  • 文章中包含特殊字符

Hexo的搜索出了问题,点击搜索会一直转圈圈,搜索无法加载出来,如下图所示:

下面分别对这2情况进行解决。

搜索插件的配置

问题分析

浏览器审查元素,转到网络模块,然后点击搜索,发现search.xml的状态为404的状态,这表明这个文件不存在。

解决方法

编辑 站点配置文件,新增以下内容到任意位置:

search:
  path: search.xml
  field: post
  format: html
  limit: 10000

编辑 主题配置文件,启用本地搜索功能:

# Local search
local_search:
  enable: true

安装搜索插件

C:\Users\CTF\Documents\GG
λ npm install hexo-generator-searchdb --save

+ hexo-generator-searchdb@1.0.8
added 119 packages in 8.327s

然后再重新生成静态文件,会发现Hexo博客的搜索功能已经可以正常使用了。

文章中特殊字符

问题分析

确保了搜索插件配置没有问题的情况下,有时候我们还是会遇到无法搜索的问题,浏览器调试发现:

此时的search.xml文件存在,但是点击搜索的时候去找search.xml资源的时候发现是304的状态码,说明这个xml文件解析异常。
浏览器直接访问search.xml文件看看:

果然search.xml文件无法正常的解析。
查看返回包,找到文件中特殊字符的所在位置:

Sublime Text3Visual Studio Code分别打开文件对比看看,这两个编辑器都找到了特殊字符。

解决方法

既然知道了文件中特殊字符所造成生成的search.xml文件无法正常解析的话,那么解决也好解决了,就是删掉这些特殊字符。如果特殊字符比较多的话,建议使用Visual Studio Code去批量删除。
首先标记特殊字符,然后Ctrl+F键,全部查找出来。展开替换按钮,全部替换为就可以啦。

然后再重新生成静态文件,会发现Hexo博客的搜索功能已经可以正常使用了。


取个什么名字好呢
欢迎您扫一扫上面的二维码,加入我们的小队!
 上一篇
MISC-MISCall No cON Name CTF Quals 2014 MISC-MISCall No cON Name CTF Quals 2014
No cON Name CTF Quals 2014年的一道CTF安全杂项题-MISCall的Writeup。 赛题概览NoConName 2014 Quals: MISCall 环境 Linux Python 考察点 Linux 基础
2018-01-12
下一篇 
一次对南师大的校园网认证系统的逻辑漏洞测试 一次对南师大的校园网认证系统的逻辑漏洞测试
记录了最近在南师大对其校园网逻辑漏洞测试中的一些有趣曲折的点 前言最近常来南京师范大学(随园校区)这边玩,来感受一下研究生们的学霸学习氛围~ 作为一名职业网民,打开电脑的第一件事当然就是来连接周围的WiFi啦。南师大的WiFi是校园网全校覆
2017-11-18
  目录