ytkah

  本文介绍帝国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\'].\'">&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">

 帝国CMS搜索页伪静态

  最后的实现效果如上图所示

  附IIS下实现帝国CMS搜索页伪静态

分类:

技术点:

相关文章: