thinkphp底层设置跳转404页面
项目开发完之后要屏蔽报错,在底层目录写个404页面,入口文件app_debug改成false,代码方面使用以下方法
1.使用空操作,即_empty(),在进入某个控制器中,如果找不多这个方法,就直接调用 _empty,然后进入404。
2.在tp里面,初始化项目时,runtime下有个common~runtime.php,这个是缓存文件,里面有大部分的核心文件,加载空模块或者空控制器时,自动从这个文件里获取相关的信息,包括加载空模块和空控制器时,都是从这个文件里获取信息。
3.加载空模块的报错信息在thinkphp/think/dispatcher.class.php的178行
代码:
e(l(‘module_not_exist‘).’:’.module_name);
在这前面加
header(“location:/404.html”);die;即可
具体页面自己写个即可,404放入底层目录
4.加载空控制器(不存在的控制器)
thinkphp/library/think/app.class.php102行
e(l(‘controller_not_exist‘).’:’.controller_name);
上面加行404代码即可。
最后删除runtime目录的所有文件(以防万一,其实只要删除common~runtime.php即可),然后重新加载页面即可。
这样在线上就不会再出现加载不了模块或者控制的信息了,全是调到404.
版权声明:本文为博主原创文章,未经博主允许不得转载。