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行,找到进行注释或者追加条件即可
临时解决可以将伪静态模式修改为:兼容模式
如果还是未能解决:可以在后台:配置参数->URL规则(关闭)
如果还没解决?
关于用【pbcms】做百度竞价自建站需要注意的点
版本:V3.2.5
原因:\apps\home\controller\IndexController.php 文件
文件中屏蔽了除几个特定的条件以外的问号链接,导致百度竞价链接访问全部404。
解决办法:
找到:
stripos(URL,'/?ext_') == false
后面添加:
&& stripos(URL,'/?bd_vid') == false
/?bd_vid是百度竞价搜索推广的常用后缀,/?360是360竞价搜索推广的常用后缀,