通过1.7新版路由实现zblog搜索结果url地址伪静态化的代码
分类:zblog教程
86
zblog搜索结果页面的url是动态的,目前静态管理中心插件也没有搜索页的url配置,但是升级到zblog 1.7版本后,可以通过新版本新增加的路由系统来实现搜索功能伪静态化。下面是摘自官方wiki的实现搜索功能的伪静态化的函数代码。
在include.php文件添加函数
//创建搜索伪静化的规则,并挂在 Filter_Plugin_Zbp_PreLoad 接口function demoPlugin_RegRoute(){
global $zbp;
$route = array (
'posttype' => 0,//文章类型
'type' => 'rewrite',//路由的类型,可以是active,rewrite,default
'name' => 'post_article_search', //名称
'call' => 'ViewSearch', //呼叫的函数,匹配成功后call之,并传入一个含有各种匹配参数的数组
'urlrule' => '{%host%}search/{%q%}_{%page%}.html',//规则主体
'args' => //伪静类型路由的参数(出现在urlrule里的)
array (
'q' => '[^\\/_]+',//q是搜索的关键字,支持正则匹配
'page',//page是页码
),
'only_match_page' => false,//为假表示可以匹配没有{%page%}参数的url,默认如此可以不加这一行配置
);
$zbp->RegRoute($route);}注意:代码中call呼叫的ViewSearch函数已经内置在zblog系统源代码中,所以只需要注入路由就可以实现搜索功能的伪静态化!
在应用的ActivePlugin_应用ID函数中把上面的代码挂上接口
//将注入路由的函数挂上接口Add_Filter_Plugin('Filter_Plugin_Zbp_PreLoad', 'demoPlugin_RegRoute');附:Z-Blog搜索框的代码
<form name="search" method="post" action="{$host}zb_system/cmd.php?act=search">
<input type="text" name="q" id="edtSearch" value=""/>
<input type="submit" id="btnPost" value="搜索"/></form>修改完成后,搜索结果的url就会变成https://网站域名/search/keyword.html的格式,如果想使用其它格式,可以修改代码中的urlrule参数
最新发布
-
zblog响应式自媒体博客主题63号
2026-04-08 -
zblog响应式资讯门户主题62号
2026-04-05 -
zblog响应式文章自媒体资讯主题61号
2026-04-01 -
zblog响应式自媒体资讯主题60号
2026-03-30 -
zblog响应式门户文章资讯主题59号
2026-03-29
热门文章
-
ZBLOG精品手赚APP应用下载主题19号
1225 -
zblog响应式机器设备企业主题10号
1220 -
zblog响应式生活分类信息主题2号
939 -
zblog响应式机械企业外贸主题6号
321 -
简洁大气zblog响应式文章主题52号
307