Web 上で最もよくある間違いの 1 つは、無効なリンクです。別のサイトからデッドリンクが表示された場合は、
サイトのルートを変更します。人々は気に入ったサイトをブックマークし、3 か月後に再び訪問したときに表示されるのが「404 Not Fount」
だけだったとしても、サイトからそこにアクセスする方法を教えるという任務は与えられません。元の情報を探しに行きます。これを修正するか、少なくとも
ユーザーが「404」エラーに遭遇した場合に、フレンドリーなヘルプとトレースを提供しましょう。ページの処理中に発生したすべてのエラーを
レポートする通常のページを作成できます。
PHP を Apache と組み合わせると、独自のエラー ページを自由に作成できますが、再構成と少量の
コーディングが必要になります。まずは設定部分を学びましょう。
Apache の ErrorDocument ディレクティブは、エラーが発生したときに Apache がどのドキュメント (または URI) にリダイレクトする必要があるかを示すために使用されます。これにより、ユーザーが遭遇する可能性のあるエラー コードごとにリソースを
指定できます。 ErrorDocument 404
/error.php ディレクティブをサーバー構成に追加します。これにより、ユーザーが存在しないページにアクセスしたときに、「error.php」にリダイレクトされます。以下に、
「error.php」ページを記述します。変更を有効にするために、Apache を再起動することを忘れないでください。
次に、簡単な error.php を作成します。
要求したファイル (=$REDIRECT_URL?> ) は、このサーバー上に存在しません。
前のページから必要なファイルを見つけてください。
次に、サーバーに存在しないページを読んでみてください。error.php が表示されます。これには、親切で
なメッセージがあり、前へのリンクもあります。ページ。
これを少し拡張してみましょう。ご覧のとおり、error.php で REDIRECT_URL 変数を使用しています。この変数は、
が ErrorDocument ディレクティブを実行するときに Apache によって設定され、元のリソースを見つける可能性を与えます。この場合、Apache
は他の変数も設定します。それらはすべてここにあります。これらの変数を使用すると、Apache によって提供されるデフォルトのページの代わりに、
ユーザーに優れたフレンドリーなエラー ページを提供する優れたエラー ページを作成することができます。
PHP ページからのエラーの出力
PHP ページからのエラーの出力は、Apache が ErrorDocument ディレクティブを使用して行うことをシミュレートするのとよく似ています。
クエリ文字列変数を使用してユーザーをリダイレクトするだけです。 Apache は通常、環境変数で設定されます。このようにして、同じエラー ページを使用してさまざまなエラーを
処理できます。以下に例を示します。
function throw_error($message) {
$error_page = "/err/error.php"; 🎜>
$error_url = $error_page;
$error_url .= "?REDIRECT_ERROR_NOTES=$message";
$error_url=" .$GLOBALS["PHP_SELF"]; error_url .= "&REDIRECT_REQUEST_METHOD=$REQUEST_METHOD";
$error_url .= "&REDIRECT_STATUS=501";
Header("場所: $error_url"); >exit;
}
ob_start();
// 出力バッファリングを使用してこのページの任意の場所にエラーを出力します
if(!condition) {
throw_error("条件が失敗しました");
}
ob_end_flush();
// ページが処理された後、出力バッファを更新します
?>
の出力バッファリング機能を使用しますPHP4 一般的なエラー報告機能の生成にも役立ちます。ただし、エラー ページ全体が処理されたことを確認したら
、コード内の任意の場所でヘッダー呼び出しを通じてリダイレクトすることを忘れないでください。