27岁,山西运城人,职业电商经理人,前端开发工作者,从事过网站建设、网络推广、SEO、SEM、信息流推广、二类电商、网络运维、软件开发,等相关电商工作,经验较为丰富,小米技术社区致力于为广大从事Web前端开发的人员提供一些力所能及的引导和帮助 ...[更多]
E-mail:mzze@163.com
Q Q:32362389
W X:xiaomi168527
27岁,山西运城人,职业电商经理人,网络工程师兼运维,从事过运营商网络建设,企业网络建设、优化。数据中心网络维护等通过,经验丰富,座右铭:当自己休息的时候,别忘了别人还在奔跑。 ...[更多]
大于花一样的年龄,河南郑州是我家,2010年在北京接触团购网,2011年进入天猫淘宝一待就是四年,如今已经将设计走向国际化(ps:误打误撞开始进入阿里巴巴国际站的设计,嘿嘿)五年电商设计,丰富经验,从事过天猫淘宝阿里各项设计,店铺运营,产品拍摄;我将我的经历与您分享是我的快乐!座右铭:越努力越幸运! ...[更多]
E-mail:97157726@qq.com
Q Q:97157726
在pbootcms 新版本中,加入了一个 url不允许带其他参数,开发团队这个措施也是为了安全,可以大大减少注入风险,一旦访客加入了其他?参数 ,就会出现404页面,
但这样也会误伤正常使用,有些客户网站可能要推广什么的,推广公司可能需要带这些参数来统计报告,那我们怎么取消后缀参数过滤安全功能??
下面来说说解决方案:
打开/apps/home/controller/IndexController.php第38行
(1)把 _404('您访问的内容不存在,请核对后重试!'); 都注销掉即可
if (P) { // 采用pathinfo模式及p参数伪静态模式 if ($url_rule_type == 2) { // 禁止伪静态时带index.php 和动态地址访问 if(stripos(URL, 'index.php') !== false){ //_404('您访问的内容不存在,请核对后重试!'); } if(stripos(URL,'?') !== false && stripos(URL,'/?tag=') == false && stripos(URL,'/?page=') == false && stripos(URL,'/?ext_') == false){ // _404('您访问的内容不存在,请核对后重试!'); } }
改完这个。所有栏目页和内页都可以了。但是你会发现首页输入了?参数后。会进行301重定向, 如果要解决这个看下面。
在/apps/home/controller/IndexController.php第453行(最底部)
if($matches1[0]){ if($_SERVER['REQUEST_URI'] == $matches1[0]){ $this->getIndexPage(); } elseif(strpos($matches1[0],'/?page=') !== false) { $this->getIndexPage(); }else{ //读取后台首页404访问配置 if($this->config('url_index_404') == 1){ _404('您访问的页面不存在,请核对后重试!'); } // header("Location: " . $http . $_SERVER['HTTP_HOST'] . $matches1[0], true, 301); //以下是新增的 bbmi.com $this->getIndexPage(); } } else { _404('您访问的页面不存在,请核对后重试!'); } }
本站内容均为小米原创,转载请注明出处:小米技术社区>> pbootcms 怎么允许网址尾部带参数?要不是404页面?