解决使用cos-html-cache插件后搜索不正常的问题

2011-05-27

刚才发现博客无法搜索,无论搜索什么显示的都是首页。找了好久都没有找到问题的所在,改了搜索结果页的模板也没有反应,后来看到搜索结果的url是http://binbinliao.com/?s=key,突然想到博客装了cos-html-cache插件,这个插件会产生html的静态文件,而网站的默认首页index.html比index.php优先,所以这个请求的实际地址其实是http://binbinliao.com/index.html?s=key,马上把浏览器地址栏里的地址改成http://binbinliao.com/index.php?s=key,是正常的搜索结果。所以这个问题就是默认首页惹得祸。一开始想改一下服务器的默认首页顺序,后来想到改了之后,首页的静态化就没用了。然后就想到可以把搜索转向的地址加上文件名(index.php)。修改方法如下:

第一步:首先找到搜索框在哪个文件里面,一般在header.php、sidebar.php、searchform.php等文件里面。

第二步:然后找到<form method="get" id="searchform" action="<?php bloginfo('home'); ?>/">或者类似的,可能id不同,然后把action的值改成"<?php bloginfo('home'); ?>/index.php"

第三步:到cos-html-cache插件的设置里面把html缓存全部删掉,然后就ok啦。

Tips:bloginfo()函数是获取博客的设置信息,而bloginfo('home')则是获取博客的首页地址,这些信息可以在“设置->常规”里面设置。