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 .= "? REDIRECT_ERROR_NOTES=$message";
$error_url .= "&REDIRECT_URL=" . $GLOBALS["PHP_SELF"];
$error_url .= "&REDIRECT_REQUEST_METHOD=$REQUEST_METHOD";
$error_url .= "&REDIRECT_STATUS=501"; ( "Status: 501");
Header("Location: $error_url");
}
ob_start();
// このページの任意の場所にエラーを出力します
if(!condition)
throw_error("条件が失敗しました");
}
ob_end_flush();
// ページが処理された後、出力バッファを更新します
?>
一般的なエラーを生成する場合にも役立ちますレポート機能が役に立ちます。ただし、エラー ページ全体が処理されたことを確認したら
、コード内のどこでもヘッダー呼び出しを通じてリダイレクトできるように、バッファーを更新することを忘れないでください。
http://www.bkjia.com/PHPjc/314321.html
www.bkjia.com