更新PbootCMS V3.2.5版本后列表页与详情页URL携带参数强制404的解决方法
PbootCMS官方在2023年4月21日的版本更新中(对应V3.2.5版本),对URL参数添加了如下判断
if(stripos(URL,'?') !== false && stripos(URL,'/?tag=') == false && stripos(URL,'/?page=') == false && stripos(URL,'/?ext_') == false) { _404('您访问的内容不存在,请核对后重试!'); }
这个判断很容易理解,就简单解释:
伪静态模式下,如果URL中存在 '?' 问号
但是不存在 '/?tag=' 字符串(tag用的)
又不存在 '/?page=' 字符串(分页用的)
也不存在 '/?ext_' 字符串(筛选用的)的情况下就直接给你来个404
也就是说直接一棍子打死了所有传参的可能性,但是某些业务中就是需要通过URL来传参
那么我们可以注释掉该判断或者在该判断里追加条件
该判断位于首页控制器(apps/home/controller/IndexController.php)43~45行,找到进行注释或者追加条件即可