关于thinkphp5手动抛出Http异常时自定义404页面报错的问题

在ThinkPHP5中尝试手动抛出Http异常并设置自定义404页面时,遇到异常页面仍显示官方默认且HTTP状态码错误的问题。关闭调试模式后,日志显示因布局文件路径问题导致报错。解决方法是在自定义404页面模板中指定布局文件,以避免相对路径引起的找不到文件错误。官方文档未明确此细节,开发者可据此调整。
摘要由CSDN通过智能技术生成

在使用HttpException手动抛出异常时,希望跳转到自定义的错误页面,官方的文章中是这样描述的。

可以使用\think\exception\HttpException类来抛出异常

// 抛出 HTTP 异常  
throw new \think\exception\HttpException(404, '异常消息', null, [参数]);  

一旦抛出了HttpException异常,可以支持定义单独的异常页面的模板地址,只需要在应用配置文件中增加:

'http_exception_template'    =>  [  
    // 定义404错误的重定向页面地址  
    404 =>  APP_PATH.'404.html',  
    // 还可以定义其它的HTTP status  
    401 =>  APP_PATH.'401.html',  
]  

然而如果你这些都做完了,关闭调试模式,你会发现还是跳转到官方自定义的页面上去了,并且你发现http状态码是500,这是代码有问题啊,我抛出的是404啊。

然后打开log日志,你会发现果然报错了。

[ er
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值