卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64334本站已运行4115

分享大众资源网在用的搜索伪静态方法

以下方法帝国CMS7.5测试有效,其他版本未测试。具体内容效果可以测试大众资源网www.11dz.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=' '.$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?searchid=$1&page=$2

卓越飞翔博客
上一篇: 首页或其他页面利用灵动标签调用图片集
下一篇: 帝国CMS常用的过滤特殊字符及空格函数
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏