QQ咨询 官方微信

添加微信好友

官方小程序

百度小程序

微信小程序

头条小程序

关于我们

PHPCMS

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

 admin  2019-08-26 21:54:54
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


¥ 打赏
×
如果您觉得文章帮助了您就打赏一下吧
非常感谢你的打赏,我们将继续分享更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

本文《phpcms v9自定义栏目伪静态造成页面无法404问题》发布于石头博客文章,作者:admin,如若转载,请注明出处:https://www.pweb123.com/cms/phpcms/781.html,否则禁止转载,谢谢配合!

文章点评

我来说两句 已有0条评论
点击图片更换

添加微信好友

添加微信好友

微信小程序

百度小程序