爱采购

发产品

  • 发布供应
  • 管理供应
DESTOON伪静态地址空值优化DESTOON伪静态地址空值优化_destoon教程_PHP 教程_软件编程_教程资讯_大秦朝旭-码农学习站

DESTOON伪静态地址空值优化

   2023-10-08 45 0
导读

目前的处理方式:index.php?catid=0areaid=0kw=墙体广告的伪静态处理结果为index-htm-kw-墙体广告-catid-0-areaid-0.html但是这种格式不是特别好,因为如果值为0

目前的处理方式: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
免责声明
• 
本文为会员destoon8发布,欢迎转载,转载请注明原文出处:http://52419.net/news/show-39577.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 
更多>同类destoon教程

入驻

企业入驻成功 可尊享多重特权

入驻热线:17792038992

请手机扫码访问

客服

客服热线:17792038992

小程序

小程序更便捷的查找产品

为您提供专业帮买咨询服务

请用微信扫码

公众号

微信公众号,收获商机

微信扫码关注

顶部