返回旧版| 微信建站| 我要建站 | 建站学习 | 加入收藏
PHPCMS当前位置:首页 > cms教程 > 综合cms > PHPCMS > 正文

phpcms v9自定义栏目伪静态造成页面无法404问题

发布时间:2019-08-26 21:40:18   来源:   点击:
phpcms v9自定义栏目伪静态,网上有很多的教程,也可以参考我的文章:PHPCMS V9自定义栏目伪静态实现方法(列表页/分页/内容页),其基本原理就是通过伪静态规则匹配到对应的栏目目录,然后通过目录搜寻对应的栏目catid,也正是因为这样,就造成了无论匹配到什么样的目录,都会直接去list或者show方法下去寻找对应的栏目和内容,但是这两个方法中,如果传递了空的catid或者id之后只会提示:文章不存在或者您没有访问该信息的权限! 这不是我们想要看到的结果,所以需要加个判断
修改方法:打开phpcms\modules\content\index.php
(1)找到66行左右的代码
  1. $r = $this->db->get_one(array('id'=>$id)); 
在这个后边加上代码:
  1. if(!$r){ 
  2.      header('location:/404.html');   
  3. }  
(2)找到220行左右的(此时是在自定义伪静态基础上的修改)
  1. if(isset ($_GET['catid'])){   
  2.             $catid = intval($_GET['catid']);   
  3.         }else{   
  4.             $catid=$this->_getCategoryId($_GET['dir']);   
  5.         }   
在这后边加上代码:
  1. if(empty($catid)){ 
  2.       header('location:/404.html');   
  3.  }  
此时就可以实现当栏目或者内容不存在的时候跳转到404页面,当然别忘了在根目录下添加404.html


相关栏目
热门文章
最新图文
评论排行
版权所有:郑州腾石网络科技有限公司 备案信息:豫ICP备18019117号
站长QQ:2863868475 业务合作咨询:15137100750(同微信)
本站所有投放的广告是有其他网站提供,不代表本站立场,同时网站首页广告位对外出租详情咨询本站站长!同时欢迎广大站长加入个人建站团队
  • 建站客服
  • CMS仿站
  • CMS学习
  • 技术交流群:336572814