这篇文章主要为大家介绍了帝国CMS搜索页伪静态实现方法,可实现帝国CMS搜索结果的伪静态显示,在使用帝国CMS二次开发中非常具有实用价值,需要的朋友可以参考下

本文实例讲述了帝国CMS搜索页伪静态实现方法。分享给大家供大家参考。具体实现方法如下:

帝国CMS搜索页伪静态教程步骤:

一、打开esearchindex.php 411行左右,找到:

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

修改为:

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

二、打开esearchresultindex.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=’ ‘.$num.’   ‘;
//上一页
if($page<>0)
{
$toppage=”.$fun_r[‘startpage’].’ ‘;
$pagepr=$page-1;
$prepage=”.$fun_r[‘pripage’].”;
}
//下一页
if($page!=$totalpage-1)
{
$pagenex=$page+1;
$nextpage=’ ‘.$fun_r[‘nextpage’].”;
$lastpage=’ ‘.$fun_r[‘lastpage’].”;
}
$starti=$page-$snum<0?0:$page-$snum;
$no=0;
for($i=$starti;$i<$totalpage&&$no<$page_line;$i++)
{
$no++;
if($page==$i)
{
$is_1=”“;
$is_2=”
“;
}
else
{
$is_1=”;
$is_2=””;
}
$pagenum=$i+1;
$returnstr.=” “.$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

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

比如:

提示:不建议使用相对地址

希望本文所述对大家的帝国CMS建站有所帮助。

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