帝国CMS搜索页伪静态实现方法
时间:11-26 分类:电脑网络
帝国CMS搜索页伪静态实现方法
本文介绍帝国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 title="'.$fun_r['trecord'].'">
'.$num.' </a> ';
//上一页if($page<>0){$toppage='<a href="'.$url.'-0-'.$search.'.html">'.$fun_r['startpage'].'</a> ';
$pagepr=$page-1;$prepage='<a href="'.$url.'-'.$pagepr.'-'.$search.'.html">'.$fun_r['pripage'].'</a>';}
//下一页if($page!=$totalpage-1){$pagenex=$page+1;$nextpage='
<a href="'.$url.'-'.$pagenex.'-'.$search.'.html">'.$fun_r['nextpage'].'</a>';
$lastpage=' <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.=" ".$is_1.$pagenum.$is_2;}
$returnstr=
$firststr.$toppage.$prepage.$returnstr.$next
page.$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">
最后的实现效果如上图所示
- 相关文章
- 推荐文章