大家应该都知道我最近使用了 cos-html-cache 这个 WordPress 缓存插件吧。最近发现安装这个插件之后有个严重问题,那就是网站的搜索功能无法正常使用了。由于 cos-html-cache 这个插件将每个页面都生成了静态的 HTML 文件,而 Index 这个主页也相应的生成了 index.html 这个文件来代替了 index.php ,因此搜索功能就无法使用了。

在网上搜索了下,有些人建议使用 google search代替内置的搜索,或者修改源文件。使用Google search的话,当然有一些好处,但是搜索结果不如内置的准确。修改源文件的话,有几个地方 都有可能涉及到这行代码,比如当前模板目录下的searchform.php,wp-includes下的general-template.php等, 具体是哪一个文件在起作用,取决于使用的模板和WordPress版本。而且修改源文件这种方法在版本升级的时候,很容易失效,还要重新改一次。

在某个BLOG上发现这样一个解决方法。

在.htaccess文件中加一句:

DirectoryIndex index.php index.html

这句话的作用是指定 index.php 的优先级比 index.html 高,也就是说,如果访问 http://www.yousite.com/的话,会先 访问 index.php 文件。这样就OK啦,我们的搜索功能全都恢复了!