分享精准像素在用的搜索伪静态方法
以下方法帝国CMS7.5测试有效,其他版本未测试。具体效果可以测试精准像素www.11px.cn的站内搜索功能查看。
帝国CMS搜索伪静态方法
一、打开esearchindex.php 411行左右,找到:
Header(Location:result/?searchid=$searchid.$dogetvar);
修改为:
Header(Location:$public_r[newsurl]search/$searchid/0.html.$dogetvar);
二、打开e/search/result/index.php 20行左右,找到:
//搜索结果
$searchid=(int)$_GET['searchid'];
在前面添加分页函数:
//增加分页函数
function page10($num,$line,$page_line,$start,$page,$search){
global $fun_r,$public_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.'/'.$search.'/'.'0.html>'.$fun_r['startpage'].'</a> ';
$pagepr=$page-1;
$prepage='<a href='.$url.'/'.$search.'/'.$pagepr.'.html>'.$fun_r['pripage'].'</a>';
}
//下一页
if($page!=$totalpage-1)
{
$pagenex=$page+1;
$nextpage=' <a href='.$url.'/'.$search.'/'.$pagenex.'.html>'.$fun_r['nextpage'].'</a>';
$lastpage=' <a href='.$url.'/'.$search.'/'.($totalpage-1).'.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.'/'.$search.'/'.$i.'.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?searchid=$1&page=$2
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。


