thinkPHP5 在部署模式下将所有错误页面改为404

1215
|
2020-04-02 17:34:00

thinkPHP5 在部署模式下(关闭debug)将所有错误页面改为404

1.在app.php 加入一下配置

'exception_tmpl_noDeBug'=> Env::get('think_path') . 'tpl/think_exception_noDeBug.tpl',
'is_all_404' => true,

2.新增自定义404页面

文件位置 /thinkphp/tpl/think_exception_noDeBug.tpl

3.修改/thinkphp/library/think/exception/Handle.php 文件的convertExceptionToResponse方法

include Container::get('app')->config('exception_tmpl');

改为

if (Container::get('app')->isDebug())
     include Container::get('app')->config('exception_tmpl');
else
     include Container::get('app')->config('exception_tmpl_noDeBug');
$response->code($statusCode);前添加
if(Container::get('app')->config('is_all_404'))
     //错误页面都转换为404
     $statusCode = 404;


代码段 小部件