分享好友 教程资讯首页 频道列表

DESTOON伪静态地址空值优化

2023-10-08 17:051340

目前的处理方式:index.php?catid=0&areaid=0&kw=墙体广告 的伪静态处理结果为

index-htm-kw-墙体广告-catid-0-areaid-0.html

但是这种格式不是特别好,因为如果值为0或者值为空的时候, 表示值不存在,如果是多重条件的组合,会生成一长串空值地址:

现在增加一个方法

把类似这样的长网址sell/search-htm-list-0-kw-墙体广告-catid-0-areaid-0.html  简化成 search-htm-kw-墙体广告.html

rewrite是原方法,在方法体中增加一个getUrlKeyValue($url)来处理


在/include/global.func.php 有个rewirte函数来处理



  1. function rewrite($url, $encode = 0) {
  2.    if(!RE_WRITE) return $url;
  3.    if(RE_WRITE == 1 && strpos($url, 'search.php') !== false) return $url;
  4.    if(strpos($url, '.php?') === false || strpos($url, '=') === false) return $url;
  5.    $url= getUrlKeyValue($url);//这里增加一个过滤方法解决值为空或0的问题
  6.    $url = str_replace(array('+', '-'), array('%20', '%20'), $url);
  7.    $url = str_replace(array('.php?', '&', '='), array('-htm-', '-', '-'), $url).'.html';
  8.    return $url;
  9. }


在本文件最后加上一个函数


  1. function getUrlKeyValue($url){
  2.    $result = '';
  3.    $mr = preg_match_all('/(\?|&)(.+?)=([^&?]*)/i', $url, $matchs);
  4.    if ($mr !== false) {
  5.        for ($i = 0; $i < $mr; $i++) { if($matchs[3][$i]) { $result.=$matchs[2][$i].'='.$matchs[3][$i].'&'; } } } $rootStr = substr($url,0,strpos($url, '.php?')+5);
  6.    $result = $rootStr.rtrim($result,'&');
  7.    return $result;
  8. }



最终2处效果如图:



反对 0
举报 0
收藏 0
打赏 0
评论 0
如何生成背景透明的微信小程序二维码
如何生成背景透明的微信小程序二维码透明背景参数is_hyaline 是否需要透明底色, is_hyaline 为true时,生成透明底色的小程序码publicfunctiongetQRCodeB($scene

0评论2023-10-08181

destoon标签调取相应的信息内容及图片
本教程合适于没有分表的情况下第一步:打开根目录/include/tag.func.php找到 isset($showpage) or $showpage = 0; 这句。在其上行或其下行添上(isset($showconte

0评论2023-10-08185

DESTOON搜索关键词记录过滤拼音以及全英文搜索
网站搜索关键词记录总有英文的恶意关键词搜索提交,导致destoon后台的搜索关键词记录一大堆垃圾无效的搜索关键词,所以就重新在官方默认的基础上修改过滤英文及

0评论2023-10-08151

DESTOON系统框架根据标题调取百度下拉+淘宝下拉词函数,增强页面相关性
写了一个destoon根据标题调取百度下拉+淘宝下拉词函数,增强页面相关性,也可以用于自动分词,提取相关词,适用于destoon任意版本,废话不多说。上代码!首先在/

0评论2023-10-08145