2012-04-17 5 views
0

すべてのcodeigniterエラーをカスタムエラーページにリダイレクトします。私は$route['404_override'] = 'errorcontroller';で404エラーをリダイレクトしました。dbやphpなどの他のすべてのエラーをどのようにリダイレクトできますか?codeigniterのエラーのリダイレクト

答えて

1

いつも試してキャッチブロックを使用してカスタムエラーページにリダイレクトできます。しかし、あなたの質問によれば、考慮すべきいくつかのことがあります。

  1. リダイレクトは、ブラウザに送信されたヘッダーで実行される全く新しい要求を発行します。そのため、そのメッセージをセッションなどに保存しない限り、エラーメッセージを表示することはできません。

  2. いくつかのエラーが発生すると、PHPは例外をスローしますが、そうでないものもあります。一部のDBインタラクションエラーは、PHPの警告またはエラーのみを発生させます。 PHPの実行は停止することがありますが、例外はスローされません。そのような場合でもtry catchでコードをラップすることは何の助けにもなりません。ただし、カスタムエラーハンドラを作成し、そのハンドラを使用するようにPHPに通知することができます。カスタムエラーハンドラでは、例外をスローするか、エラーページにリダイレクトすることが自由です。

  3. あなたはまた、特定のヘッダコード[404304500]など

これが役に立てば幸いであなたが設定ページへのリダイレクトを強制するために.htaccessを使用することができます!

関連する問題