解决pbootcms伪静态链接带参数跳转404错误页面
解决pbootcms伪静态链接带参数跳转404错误页面
伪静态模式下,如果URL中存在 ‘?’ 问号
但是不存在 ‘/?tag=’ 字符串(tag用的)
又不存在 ‘/?page=’ 字符串(分页用的)
也不存在 ‘/?ext_’ 字符串(筛选用的)的情况下就直接给你来个404
也就是说直接一棍子打死了所有传参的可能性,但是某些业务中就是需要通过URL来传参
那么我们可以注释掉该判断或者在该判断里追加条件
该判断位于首页控制器(apps/home/controller/IndexController. php)43~45行,找到进行注释或者追加条件即可
临时解决可以将伪静态模式修改为:兼容模式 (这种对收录有影响)
如果还是未能解决:可以在后台:配置参数->URL规则(关闭)
用pbootcms做谷歌竞价的企业网站需要注意的点(版本:V3.2.5)
找到:\apps\home\controller\IndexController.php 此文件
文件中屏蔽了除几个特定的条件以外的问号链接,导致谷歌竞价链接访问全部跳转到404错误页。
解决办法:
找到:
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找到的资料,我这里没有那么麻烦,直接把上面画框的地方注释掉了,就不用一 一匹配各种情况。不知道这种操作是否会带来安全风险