最新公告
  • 欢迎您光临站长源码网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 帝国CMS搜索页伪静态实现方法

    正文概述 管理员   2024-09-02   80

    本文介绍帝国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">

    IIS伪静态方法:

    https://www.cnblogs.com/ytkah/p/6893217.html


    站长源码网 » 帝国CMS搜索页伪静态实现方法

    发表评论

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    支付宝支付
    微信支付
    余额支付
    ×
    微信扫码支付 0 元