destoon伪静态地址空值优化
目前的处理方式: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)来处理
转自:http://www.kaotop.com/it/218870.html
在/include/global.func.php 有个rewirte函数来处理
1 2 3 4 5 6 7 8 9 | 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 ; } |
在本文件最后加上一个函数
1 2 3 4 5 6 7 8 | 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 ; } |
千行代码,Bug何处藏。 纵使上线又怎样,朝令改,夕断肠。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2018-03-17 深度学习Keras框架笔记之激活函数详解
2018-03-17 深度学习Keras框架笔记之Activation类使用
2018-03-17 深度学习Keras框架笔记之AutoEncoder类
2018-03-17 深度学习Keras框架笔记之TimeDistributedDense类
2018-03-17 深度学习Keras框架笔记之Dense类(标准的一维全连接层)
2018-03-17 深度学习Keras框架笔记之核心层基类
2018-03-17 大数据开发keras框架环境配置小结