当前位置:首页 > 文章 > 帝国CMS > 正文内容

帝国CMS搜索页伪静态实现方法

3年前 (2022-10-22)帝国CMS11589

本文介绍帝国CMS搜索页url伪静态实现方法,可实现帝国CMS站内搜索结果页的伪静态显示,在使用帝国CMS二次开发中非常具有实用价值,需要的朋友可以参考下(文末附iis解决方案)

具体实现方法如下:

一、打开\e\search\index.php 411行左右,找到:

Header("Location:result/?searchid=$searchid".$dogetvar);

修改为:

Header("Location:$public_r[newsurl]search-0-$searchid.html".$dogetvar);

二、打开\e\search\result\index.php 20行左右,找到:

//搜索结果
$searchid=(int)$_GET['searchid'];

在前面添加分页函数:

//增加分页函数
function page10($num,$line,$page_line,$start,$page,$search){
global $fun_r;
if($num<=$line)
{
return '';
}
$search=RepPostStr($search,1);
$url=$public_r['newsurl'].'search';
$snum=2;//最小页数
$totalpage=ceil($num/$line);//取得总页数
$firststr='<a >&nbsp;'.$num.'&nbsp;</a>&nbsp;&nbsp;';
//上一页
if($page<>0)
{
$toppage='<a href="'.$url.'-0-'.$search.'.html">'.$fun_r['startpage'].'</a>&nbsp;';
$pagepr=$page-1;
$prepage='<a href="'.$url.'-'.$pagepr.'-'.$search.'.html">'.$fun_r['pripage'].'</a>';
}
//下一页
if($page!=$totalpage-1)
{
$pagenex=$page+1;
$nextpage='&nbsp;<a href="'.$url.'-'.$pagenex.'-'.$search.'.html">'.$fun_r['nextpage'].'</a>';
$lastpage='&nbsp;<a href="'.$url.'-'.($totalpage-1).'-'.$search.'.html">'.$fun_r['lastpage'].'</a>';
}
$starti=$page-$snum<0?0:$page-$snum;
$no=0;
for($i=$starti;$i<$totalpage&&$no<$page_line;$i++)
{
$no++;
if($page==$i)
{
$is_1="<b>";
$is_2="</b>";
}
else
{
$is_1='<a href="'.$url.'-'.$i.'-'.$search.'.html">';
$is_2="</a>";
}
$pagenum=$i+1;
$returnstr.="&nbsp;".$is_1.$pagenum.$is_2;
}
$returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;
return $returnstr;
}

 

然后在48行左右找到:

$listpage=page1($num,$line,$page_line,$start,$page,$search);

修改为:

$listpage=page10($num,$line,$page_line,$start,$page,$search);

找到:

$search="&searchid=".$searchid;

修改为:

$search="$searchid";

 

三、添加伪静态规则(例子为Apache,自己修改为对应的).

RewriteRule ^search-(.+?)-(.+?)\.html$ /e/search/result/index\.php\?page=$1&searchid=$2
.htaccess文件参考代码
RewriteEngine on
RewriteRule ^c-(.+?)-(.+?)\.html$ /e/search/result/index\.php\?page=$1&searchid=$2

 

 

四、修改搜索模板中的提交地址为绝对地址:

<form action='http://www.XXXX.com/e/search/index.php' method="post" name="search_news" id="search_news">

IIS伪静态方法:

https://www.cnblogs.com/ytkah/p/6893217.html

帝国CMS搜索页伪静态实现方法

扫描二维码推送至手机访问。

版权声明:本文由蓝博发布,如需转载请注明出处。

本文链接:https://blueboss.cn/p/728.shtml

“帝国CMS搜索页伪静态实现方法” 的相关文章

帝国CMS内容页模板判断字段为空不显示

帝国CMS内容页模板判断字段为空不显示

帝国CMS内容页模板怎么样才能让某一个字段,如果填写了就显示,没有填写就不显示呢?其实方法很简单,下面帝国cms模板网就来告诉大家怎么调用: <?phpif($navinfor[字段名]){?>字段有值时显示的内容,如[!---字段名--]<?}else{?>字段无值时显示...

帝国cms内容页正文附件下载的调用代码

帝国cms内容页正文附件下载的调用代码

帝国cms内容页正文附件下载的调用代码 [e:loop={"select * from phome_enewsfile_1 where classid='$navinfor[classid]' and id='$navinfor[id]' order by id desc",0,24,0,'','...

帝国CMS退出会员登录后怎么跳转到指定网址

帝国CMS退出会员登录后怎么跳转到指定网址

帝国CMS会员退出后跳转到指定地址的方法! 教程方法如下: 打开 /e/member/class/member_loginfun.php 查找: $gotourl="../../"; 修改成: $gotourl="/e/member/cp/"; 这是跳转到会员中心首页,根据实际需要,可修改。 是...

帝国CMS列表页调用副表字段

帝国CMS列表页调用副表字段

列表模板中要调用副表字段内容需要采用“list.var支持程序代码”。下面帝国cms模板网就来告诉大家: 下面以读取新闻副表中的newstext字段为例的list.var模板代码: $fr=$empire->fetch1("select newstext from {$dbtbpre}ecm...

帝国CMS模板中灵动标签调用当天日期的标题文字显示红色

帝国CMS模板中灵动标签调用当天日期的标题文字显示红色

帝国cms模板中灵动标签调用当天日期的标题文字显示红色呢? 帝国CMS模板网小编就来为大家分享: [e:loop={'news',8,18,0}] <?php $color="#333"; if(date("Y-m-d",$bqr[newstime])==date("Y-m-d")) { $...

帝国CMS模板中的loop灵动标签怎么附加SQL条件

帝国CMS模板中的loop灵动标签怎么附加SQL条件

帝国cms模板网的特别推荐,本站之前用的是变量调用固定的id,因此这个情况会有些用户会觉得不太方便,所以呢,可以改成推荐调用,6条文章,就用6级推荐,这样就简单了,下面直接放实例,大家自行套用即可:   模板-公共模板变量-特别推荐(ID20)   实例代码如下: [e:loop={'news',...