帝国ECMS7.0搜索伪静态的实现 增强SEO
2018-03-26 站长 站长日志
帝国CMS的通病就是针对优化做的不是太好,但其实帝国的核心是非常的强大,只要你的动手能力和想像空间足够的话,应该很多的功能和想法都是能够实现的,7.0开始已增加了一些伪静态的功能,算是非常大的飞跃吧,但看到有的网站搜索也是静态的是不是也很心动,别急,下面的方法或许能够帮到你。
一、打开\e\search\index.php 411行左右,找到:
1 |
Header( "Location:result/?searchid=$searchid" . $dogetvar );
|
修改为:
1 |
Header( "Location:$public_r[newsurl]search-0-$searchid.html" . $dogetvar );
|
二、打开\e\search\result\index.php 20行左右,找到:
1 2 |
//搜索结果
$searchid =(int) $_GET [ 'searchid' ];
|
在前面添加分页函数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
//增加分页函数
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行左右找到:
1 |
$listpage =page1( $num , $line , $page_line , $start , $page , $search );
|
修改为
1 |
$listpage =page10( $num , $line , $page_line , $start , $page , $search );
|
查找:
1 |
$search = "&searchid=" . $searchid ;
|
修改为:
1 |
$search = "$searchid" ;
|
三、添加伪静态规则(例子为Apache,自己修改为对应的)
#搜索
1 |
RewriteRule ^search-(.+?)-(.+?)\.html$ /e/search/result/index\.php\?page= $1 &searchid= $2
|
四、修改搜索模板中的提交地址为绝对地址:
比如
1 |
<form action= '/e/search/index.php' method= "post" name= "search_news" id= "search_news" >
|
提示:不建议使用相对地址。