强烈向大家推荐一个好网站,【我要自学网】,教程由在校老师录制,有办公会计、平面设计、室内设计、机械设计、网页编程、影视动画等教程.....让你足不出门,都可以体验学校的专业教育!
当访问一个不存在的控制的时候就会报错如下图
跟着错误找到这行代码
// 是否定义Empty控制器
$module = A('Empty');
if(!$module){
E(L('_CONTROLLER_NOT_EXIST_').':'.CONTROLLER_NAME);
}
发现tp会找Empty控制器如果不存在才会显出我们刚才看到的错误
也就是说我们只要实现Empty控制器就可以在这个控制器中把错误拦截下来显示出我们自定义的404页面
所以增加一个Empty控制器并且增加一个_empty方法让它跳转我们自定义的错误页面即可
///以上设置只是针对控制器找不到的情况 当控制器正确 方法不存在的时候还会报错显示结果为
解决办法跟刚才一样 跟着错误找到代码
action找不到的时候会找_empty方法
所以我们只要在控制器中自定义_empty方法 跳转自定义的404页面即可