用Google的自定义搜索引擎替代站内的搜索

很早以前就发现WordPress自带的搜索功能很不好用。所以用了Google自定义搜索引擎替代站内的搜索。本来想用Google AJAX Search API的,但是太复杂了。后来就决定使用Google自定义搜索引擎了!

要使用Google自定义搜索引擎。首先得有个Google的账户。点这里:创建 Google 帐户。然后访问Google自定义搜索引擎。再点“创建自定义搜索引擎”,输入相关信息之后,就可以开始使用了。

首先在自定义搜索引擎的控制面板上,先制定搜索的网站是自己的网站,然后获取到代码,在代码页面的搜索结果托管选项中,我选择的是“一个网页提供搜索框,另一个提供结果”的形式。然后在页面的下面有个搜索结果代码的文本框,把文本框内的代码拷贝下来,然后在WordPress使用的主题目录下,拷贝一个page.php的副本,重命名一下。我这里是重命名为googlesearch.php。然后用编辑器打开googlesearch.php(这里我个人推荐使用Notepad++!),在其顶部代码

<?php get_header(); ?>

之前添加以下代码:

<?php
 
/*
Template Name: googlesearch
*/

?>

此段代码的作用是把这个页面定义一个模板名称,以下会用到。

然后把刚才我们从Google的自定义搜索引擎的控制面板上的搜索结果代码的文本框内的拷贝下来的代码,替换到

<div id="content">

</div>

中间的那些内容。其他的地方不需要修改了。然后保存一下,记得一定要按照utf8格式保存。

然后登录到WordPress的后台,撰写一个新页面,页面的标题由自己填写了。重要的两个地方,一个是页面模板必须选择googlesearch。页面缩略名一定要用英文(我这里也是用googlesearch)。保存之后。就可以用http://您的站点/googlesearch访问了。拷贝下这个地址。

返回google的自定义搜索引擎的控制面板,在指定搜索结果详情下面的文本栏里把http://您的站点/googlesearch粘帖进去。至于那个广告位置,随意选择了。以上操作之后,可以看到搜索框代码的文本框内的代码有所变动(其实就是把我们制定的网址加入搜索框代码),然后我们拷贝这个搜索框代码。然后再到WordPress的中,修改主题,放置这段搜索框代码替换掉原来的站内搜索代码。这样就可以让Google的搜索来替代原始的搜索了,而且搜索结果显示在自己的网站上了。

然后我自己是修改了搜索框代码的内容,主要是一些样式的修改,好适应我目前使用的主题。不知道会不会违反Google自定义搜索引擎服务条款。服务条款内全是英文,我的英文能力不好,只能看个大概,差不多是搜索的结果那边是不能动的,至于这个搜索框,好像没啥要求???

相关日志

让PHP不再暴露目录路径...釜底抽薪招 >.<

方法就是:关闭掉PHP的错误信息提示。
打开PHP.ini后。
搜索到

display_errors = On

(默认是开启状态)
我们修改为

display_errors = Off

这样就关闭了错误信息的提示了。

但是这样一来,有什么错误我们也不知道呀。所以,我们需要起用错误日志功能。
继续搜索 (more...)

相关日志

windows下apache_2.2.4配置支持php-5.2.3,非CGI模式!

首先分别从http://www.apache.org和http://www.php.net下载apache2.2.4和php5.2.3

然后APACHE正常安装。

PHP解压缩到任意位置。比如我们这里是d:/php

然后编辑apache安装目录下的子目录conf里面的httpd.conf

添加以下信息

  1. LoadModule php5_module "D:/php/php5apache2_2.dll"
  2. AddType application/x-httpd-php .php
  3. PHPIniDir "D:/php"

解释一下哦。
第一行,指定apache2.2.x去读取php5的那个dll文件。我本来是读取php5apache2.dll但是重新启动apache的时候一直报错,所以才想起来php目录下面还有一个php5apache2_2.dll
第二行,就是大家都熟悉的给apache添加一个文件类型的解析
第三行,以前的版本没有看到的哦。这个是指定php.ini的位置。以后就不用拷贝php.ini到WINDOWS目录下了。

顺便,PHP.ini在配置支持模块的时候有个地方要注意

就是extension_dir = 这个位置
默认是

  1. extension_dir = "./"

很多时候,采用默认的这个方法都是无法正常获得ext目录的所在的。所以这里我们修改为:

  1. extension_dir = "D:/php/ext"

这样。就不会找不到ext的目录而产生错误了。

相关日志