沉浸式阅读
Beta
原创

DESTOON伪静态地址空值优化

     订阅 开发技术     2020-10-29     866    0    3    2    2021-02-20
学习要点:目前的处理方式:index.php?catid=0areaid=0kw=墙体广告的伪静态处理结果为index-htm-kw-墙体广告

目前的处理方式: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函数来处理



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


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


function getUrlKeyValue($url){
    $result = '';
    $mr = preg_match_all('/(\?|&)(.+?)=([^&?]*)/i', $url, $matchs);
    if ($mr !== false) {
        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);
    $result = $rootStr.rtrim($result,'&');
    return $result;
}



最终2处效果如图:


本文标题: DESTOON伪静态地址空值优化

本文链接: https://www.mbkfw.com/course/828.html (转载时请注明来源链接)

本文说明: 有问题或投稿请发送至: 邮箱/kf@dtmuban.com    QQ/290948585

特别鸣谢: 如果您觉得本文对您有帮助,请给我们一个小小的赞,收藏本文更利于反复学习哦!

 
destoon程序前端开发标签生成器

下班PC阅读不方便?

手机也可以随时学习开发

微信关注公众号“商企云服”
"模板开发网前端开发教学"
每日干货技术分享
 
0

圈友点评

文明上网理性发言,请遵守网络评论服务协议


色彩
×

《客户实名在线注册登记》售后一直都在!

关注

微信
关注

微信扫一扫
不同的环境体验

幸运大转盘,好礼等您拿

模板开发网公众号

模板开发网微信小程序

代授权

程序
授权

黑小二

联系
客服

很高兴为您服务
尊敬的用户,欢迎您咨询,我们为新用户准备了优惠好礼。咨询客服

联系客服:

在线QQ: 290948585

客服电话: 18605917465

E_mail邮箱: kf@dtmuban.com

微信公众号: 商企云服

微信小程序: 模板开发

QQ客服 微信客服DT授权代办 在线交谈 智能小云

工作时间:

周一至周五: 09:00 - 18:00

APP下载

安卓
APK

模板开发网安卓版APP

反馈

我要
反馈