logo

pbootcms站点url尾巴输入不存在的静态文件都显示首页,求解决方案

1jianfun 1jianfun / / 5 / 684 Finished

问题描述:

大佬救救命呀,pbootcms3.13版本BUG,导致了一个致命问题,仿站中页面引用的.js, .css, .png, .tff等后缀的文件类型如果是404状态会直接显示为首页。例如: [quote] https://www.erpjdy.cn/404.png https://www.erpjdy.cn/404.js https://www.erpjdy.cn/中文.html 以上两个页面网站服务器是不存在的,按道理应该是404。 [/quote] 这样的话我们在仿站过程中,无意间引用的本不存在js、css、png、asp、do等等文件,就都会以首页的方式展现(注意并没有301或任何跳转到“/”,链接不变实际页面是首页)这样就很尴尬啦! 重点是爬虫会爬取,浪费爬虫还造成重复页面,分散权重,甚至有可能被百度识别为作弊网站。 求解决方案。
本文链接:http://www.pbask.cn/article/49.html

评论 5
  • 打开apps\home\controller\IndexController.php,找到$this->getIndexPage();在其上方增加两个判断: [pre] // 判断url中文件是否存在 if(!file_exists($path) && $path!=null){ _404('您访问的文件不存在,请核对后重试!'); } // 判断url是否含有中文 if (preg_match('/[^\x00-\x80]/', $path)) { _404('您访问的内容不存在,请核对后重试!'); } [/pre] img[/storage/2/article_pic/20220627/15c0922d4f852dc15a939be8d9521fd6.png]
    1 reply

    PB模板网(PBHTML.COM)专注pbootcms模板制作及整合,提供企业网站模板下载,做中小站长企业快速建站好帮手。
  • @站小二 补充个现在常有的被黑路径/?/xxx 把原来判断url是否含有中文的做下修改,改成以下 [pre] // 判断url是否含有中文或/?/ if (preg_match('/[^\x00-\x80]/', $path) || stripos($_SERVER['REQUEST_URI'], '/?/') !== false) { _404('您访问的内容不存在,请核对后重试!'); } [/pre]
    1 reply

    PB模板网(PBHTML.COM)专注pbootcms模板制作及整合,提供企业网站模板下载,做中小站长企业快速建站好帮手。
  • 广州市
    @站小二 不是我说,这个根本就没有理由屏蔽。 如:https://www.erpjdy.cn/?a=12dasdsamldmcacas.html https://www.erpjdy.cn/?sasda=sadmsaldmsaca https://www.erpjdy.cn/?a=smad&b=dsadmasl 这类链接其实都是符合当前页面的链接,被一些人认为是别的不存在的链接。 ?后面接的都是参数,何来的不存在的页面? 还有人执意要去除。可能在他们SEO认为这就是不同的页面吧,感觉这些人都被魔怔了。
    0 reply

    PB嘴强王者,所有功能没有我不能二开的,如果有,那就是pb不行。
  • 郑州市
    @站小二 这个问题好像win服务器上确实还存在,linux服务器上就没有,以前官网服务器也是这样。
    0 reply

  • @程序员小刘 不是SEO魔怔 是百度哪个智障会认为有问题。
    0 reply

资源总数
63+
今日更新
2
会员总数
89
今日注册
0