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