帝国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.$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
#免责声明#
ZHANN.CN帝国之家工作室内所有作品,均为ZHANN手写代码。部分样式或模板代码移植或仿造自互联网(如有侵权,出示著作权证书联系我删除),所有代码不能用于非法站点(色情,暴力,政治类站点)。ZHANN只提供源代码服务,不提供任何建站服务。不承担任何建站后的法律问题!ZHANN所得费用均为制作模板劳动报酬。使用开源免费的帝国CMS作为核心,请保留帝国CMS的版权。如商用请购买帝国商业版,ZHANN只做帝国CMS模板服务,不做任何建站、不制作采集任何网站内容、不出售任何非开源有版权源代码更不卖任何域名和空间服务器,我出卖的只是我的技术劳动力!如在本站发生交易任何资源或者下载任何资源,则代表默认同意以上文字内容。感谢小伙本的支持,做一个知法守法的好公民!