私はすべてのcodeigniterエラーをカスタムエラーページにリダイレクトしたい。 404エラーをリダイレクトしました $route["404_override"] = "errorcontroller";
dbとphpのような他のすべてのエラーをどのようにリダイレクトできますか?
回答:
回答№1は1tryとcatchブロックを使用して、カスタムエラーページにリダイレクトすることができます。しかし、あなたの質問によれば、考慮すべきいくつかのことがあります。
リダイレクトはまったく新しいリクエストを発行しますこれは、ヘッダをブラウザに送ることによって達成される。そのため、そのメッセージをセッションなどに保存しない限り、エラーメッセージを表示することはできません。
いくつかのエラーが発生すると、PHPは例外をスローしますいくつかのDBインタラクションエラーはPHPの警告やエラーだけを引き起こしますが、PHPの実行は停止するかもしれませんが、例外はスローされません。カスタムエラーハンドラを作成し、そのハンドラを使用するようにPHPに通知します。カスタムエラーハンドラでは、例外をスローするか、エラーページにリダイレクトすることが自由です。
.htaccessを使用して、特定のヘッダーコード[404,304,500]などで設定したページに強制的にリダイレクトすることもできます
お役に立てれば!