解决问题

   
疑难杂症

Article Information

更新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.php43~45行,找到进行注释或者追加条件即可