当前位置:首页>zblog知识>通过1.7新版路由实现zblog搜索结果url地址伪静态化的代码

通过1.7新版路由实现zblog搜索结果url地址伪静态化的代码

释放双眼,带上耳机,听听看~!

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搜索框的代码

欢迎访问秀主题博客,分享简单实用WP教程
<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参数

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
zblog知识

zblog网站后台文件管理插件KODExplorer(KOD文件管理)

2024-10-18 9:37:28

网站建设

禁用WordPress自带前台搜索功能防止恶意搜索攻击

2024-9-22 10:18:53

温馨提示:

1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:971318156@qq.com,我们将第一时间处理!

2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。

3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索