早晨起来锻炼,又下雨了。只好作罢,继续完成这个帝国cms7.5 搜索页面的伪静态的实现。
分四步:
第一是 写伪静态规则
#搜索 中文文件名 中药方大全
RewriteRule ^%E4%B8%AD%E8%8D%AF%E6%96%B9%E5%A4%A7%E5%85%A8-(.+?)-(.+?).html$ /e/search/result/index.php?page=$1&searchid=$2 [NU]
放到哪里知道。
第二步是 写伪静态的反规则,放到/e/search/result/index.php的分页函数之后
查找
$listpage=page1($num,$line,$page_line,$start,$page,$search);
在其后插入
//伪静态反规则 $listpage=preg_replace('#/e/search/result/index.php?page=([0-9]+)&searchid=([0-9]+)#','/中药方大全-$1-$2.html',$listpage);
第三步是处理个跳转
esearchindex.php 文件倒数若干行,找到:
Header("Location:result/?searchid=$searchid".$dogetvar);
修改为:
Header("Location:$public_r[newsurl]中药方大全-0-$searchid.html".$dogetvar);
第四步是 搜索模板提交页面地址,改为绝对路径
我的原来是
<form action='../../search/index.php' method="post" name="search_news" id="search_news">
改为
<form action='/e/search/index.php' method="post" name="search_news" id="search_news">
即可。这是因为在伪静态下,使用父目录(../)会认错的。
如此简单,大功告成,看效果: http://www.zhongyf.com/中药方大全-3-861.html