PbootCMS访问不存在的页面显示为首页的解决方法

原创 admin  2022-10-25 15:11  阅读 1 次

问题描述:

仿站中页面引用的.js, .css, .png, .tff等后缀的文件类型如果是404状态会直接显示为首页。例如:

https://www.*****.cn/404.png

https://www.*****.cn/404.js

https://www.*****.cn/中文.html

以上两个页面网站服务器是不存在的,按道理应该是404。

这样的话我们在仿站过程中,无意间引用的本不存在js、css、png、asp、do等等文件,就都会以首页的方式展现(注意并没有301或任何跳转到“/”,链接不变实际页面是首页)这样就很尴尬啦!

重点是爬虫会爬取,浪费爬虫还造成重复页面,分散权重,甚至有可能被百度识别为作弊网站。

解决方案:

打开apps\home\controller\IndexController.php,找到$this->getIndexPage();在其上方增加两个判断:

  1. // 判断url中文件是否存在
  2. if(!file_exists($path) && $path!=null){
  3.     _404('您访问的文件不存在,请核对后重试!');
  4. }
  5. // 判断url是否含有中文
  6. if (preg_match('/[^\x00-\x80]/', $path)) {
  7.     _404('您访问的内容不存在,请核对后重试!');
  8. }

15c0922d4f852dc15a939be8d9521fd6.png

来源:https://www.huanp.com/wangzhan/46965.html
声明:欢迎分享本文,转载请保留出处!

发表评论


表情