• 懒鸟飞:精品网站源码、帝国cms模板专业分享平台

帝国CMS搜索页伪静态设置

本教程主要讲解怎样设置帝国cms搜索页的伪静态,设置成功后,搜索页面的链接会变成类似这样:http://www.lazybirdfly.com/search-0-4.html 
刚测试过,此方法可用。

帝国CMS搜索伪静态设置具体如下:

一、打开/e/search/index.php ,找到如下代码:

Header("Location:result/?searchid=$searchid".$dogetvar);

修改为:

Header("Location:$public_r[newsurl]search-0-$searchid.html".$dogetvar);

 

二、打开/e/search/result/index.php 

1、查找如下代码:

 //搜索结果
$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;

}


 

2、然后继续查找如下代码:

$listpage=page1($num,$line,$page_line,$start,$page,$search);

修改为

$listpage=page10($num,$line,$page_line,$start,$page,$search);

 

3、查找如下代码:

$search="&searchid=".$searchid;

修改为

$search="$searchid";

 

三、添加伪静态规则

1、Apache下的伪静态规则如下:

RewriteRule ^search-(.+?)-(.+?).html$ /e/search/result/index.php?page=$1&searchid=$2

2、Nginx下的伪静态规则如下:
rewrite ^/search-(.+?)-(.+?).html$ /e/search/result/index.php?page=$1&searchid=$2;

 

四、修改搜索模板中的提交地址为绝对地址:

例如:

<form action='http://www.lazybirdfly.com/e/search/index.php' method="post" name="search_news" id="search_news">

网上资料大部分都建议修改成绝对地址,但我测试的时候,用的是默认的相对地址,测试也是正常的。如果你用相对路径提交时有问题,可以改成绝对地址试试。


备注:帝国cms搜索页的伪静态形式除了上面这种连接,还可以设置成目录形式,例如:http://www.lazybirdfly.com/search/1/0.html
设置方法和本教程差不多,需要对本教程中的内容稍作修改,具体设置方法,请参考《帝国CMS搜索页伪静态设置(目录形式)》
 
QQ在线咨询
QQ客服
淘宝官网