解决pbootcms伪静态链接带参数跳转404错误页面

伪静态模式下,如果URL中存在 ‘?’ 问号

但是不存在 ‘/?tag=’ 字符串(tag用的)

又不存在 ‘/?page=’ 字符串(分页用的)

也不存在 ‘/?ext_’ 字符串(筛选用的)的情况下就直接给你来个404

29881.jpg

也就是说直接一棍子打死了所有传参的可能性,但是某些业务中就是需要通过URL来传参

那么我们可以注释掉该判断或者在该判断里追加条件

该判断位于首页控制器(apps/home/controller/IndexController. php)43~45行,找到进行注释或者追加条件即可

临时解决可以将伪静态模式修改为:兼容模式 (这种对收录有影响)
如果还是未能解决:可以在后台:配置参数->URL规则(关闭)

用pbootcms做谷歌竞价的企业网站需要注意的点(版本:V3.2.5)

找到:\apps\home\controller\IndexController.php 此文件

文件中屏蔽了除几个特定的条件以外的问号链接,导致谷歌竞价链接访问全部跳转到404错误页。

18287.jpg

解决办法:

找到:

stripos(URL,’/?ext_’) == false

后面添加:

&& stripos(URL,’/?gad_source’) == false

/?gad_source是谷歌竞价搜索推广的常用后缀

自己可以解锁其它的参数(/?baidu=999或/?csdn=666以此类推),只需要判断一下就可以了

上面这种判断只针对不礴.html的伪静态链接,如果是/StoneCrusher/69.html?gad_source=5这种链接上面判断照样跳转404页,只需要加上 && stripos(URL,’.html?gad_source’) == false

就完美解决了。

以上是csdn找到的资料,我这里没有那么麻烦,直接把上面画框的地方注释掉了,就不用一 一匹配各种情况。不知道这种操作是否会带来安全风险