分享我在站长站使用的搜索伪静态技巧
我的站长站在使用的搜索伪静态方法是通过在服务器配置文件中设置重写规则来实现的。具体来说,我会将网站的URL中的动态参数(如ID、日期等)替换为静态文本,从而生成一个更简洁、易于理解的URL。这样不仅可以提高用户体验,还有助于搜索引擎更好地抓取和索引网站内容。此外,我还会使用301重定向将旧的动态URL永久重定向到新的静态URL,以避免重复内容的问题。总之,通过使用搜索伪静态方法,我的站长站在SEO方面取得了显著的成果。
以下方法帝国CMS7.5测试有效,其他版本未测试。具体效果可以测试菜鸡源码www.caijicaiji.com的站内搜索功能查看。
帝国CMS搜索伪静态方法
一、打开esearchindex.php 411行左右,找到:
Header("Location:result/?searchid=$searchid".$dogetvar);
修改为:
Header("Location:$public_r[newsurl]search/$searchid/0.html".$dogetvar);
二、打开e/search/result/index.php20行左右,找到:
//搜索结果$searchid=(int)$_GET['searchid'];在前面添加分页函数://增加分页函数functionpage10($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='<atitle="'.$fun_r['trecord'].'"> '.$num.' </a> ';//上一页if($page<>0){$toppage='<ahref="'.$url.'/'.$search.'/'.'0.html">'.$fun_r['startpage'].'</a> ';$pagepr=$page-1;$prepage='<ahref="'.$url.'/'.$search.'/'.$pagepr.'.html">'.$fun_r['pripage'].'</a>';}//下一页if($page!=$totalpage-1){$pagenex=$page+1;$nextpage=' <ahref="'.$url.'/'.$search.'/'.$pagenex.'.html">'.$fun_r['nextpage'].'</a>';$lastpage=' <ahref="'.$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='<ahref="'.$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