0

我希望将所有 codeigniter 错误重定向到自定义错误页面。我已经重定向了 404 错误,$route['404_override'] = 'errorcontroller'; 如何重定向所有其他错误,例如 db 和 php

4

1 回答 1

1

您始终可以使用 try 和 catch 块,然后重定向到您的自定义错误页面。但是根据您的问题,您应该考虑一些事情。

  1. 重定向将发出一个全新的请求,该请求通过将标头发送到浏览器来完成。因此,除非您将该消息保存在会话或其他内容中,否则您将无法显示错误消息。

  2. 一些错误会导致 PHP 抛出异常,而另一些则不会。一些数据库交互错误只会引发 PHP 警告或错误。PHP 执行可能会停止,但不会抛出异常。在这种情况下,即使将代码包装在 try catch 中也无济于事。但是,您可以创建自定义错误处理程序并通知 PHP 使用该处理程序。然后在自定义错误处理程序中,您可以随意抛出异常或重定向到错误页面。

  3. 您还可以使用 .htaccess 强制重定向到您在特定标题代码 [404,304,500] 等处设置的页面

希望这可以帮助!

于 2012-04-17T07:04:24.447 回答