我希望将所有 codeigniter 错误重定向到自定义错误页面。我已经重定向了 404 错误,$route['404_override'] = 'errorcontroller';
如何重定向所有其他错误,例如 db 和 php
问问题
1426 次
1 回答
1
您始终可以使用 try 和 catch 块,然后重定向到您的自定义错误页面。但是根据您的问题,您应该考虑一些事情。
重定向将发出一个全新的请求,该请求通过将标头发送到浏览器来完成。因此,除非您将该消息保存在会话或其他内容中,否则您将无法显示错误消息。
一些错误会导致 PHP 抛出异常,而另一些则不会。一些数据库交互错误只会引发 PHP 警告或错误。PHP 执行可能会停止,但不会抛出异常。在这种情况下,即使将代码包装在 try catch 中也无济于事。但是,您可以创建自定义错误处理程序并通知 PHP 使用该处理程序。然后在自定义错误处理程序中,您可以随意抛出异常或重定向到错误页面。
您还可以使用 .htaccess 强制重定向到您在特定标题代码 [404,304,500] 等处设置的页面
希望这可以帮助!
于 2012-04-17T07:04:24.447 回答