6.15.1 カスタマイズできるエラーページ
存在しないリソースへのアクセスなどのエラーが発生したときに,エラーステータスコードが表示されたエラーページの代わりにユーザが作成したエラーページをクライアントに表示させることができます。
インプロセスHTTPサーバによるエラーページのカスタマイズを利用することで,特定のステータスコードに対応するエラーページのカスタマイズや,リクエストURLに対応するエラーページのカスタマイズをWebコンテナ単位にまとめて制御できます。また,次に示すようなWebアプリケーションによるエラーページのカスタマイズが実行できない場合でも,エラーページをカスタマイズできます。
-
リクエストに対応するコンテキストがない場合(ステータスコード404)
-
停止処理中のコンテキストでリクエスト処理を実行しようとした場合(ステータスコード503)
-
インプロセスHTTPサーバがエラーステータスコードを返す場合
インプロセスHTTPサーバが返すエラーステータスコードについては「付録C.3 インプロセスHTTPサーバが返すエラーステータスコード」を参照してください。
インプロセスHTTPサーバでは,次に示すエラーページのカスタマイズができます。
-
ステータスコードに対応するエラーページのカスタマイズ
ステータスコード400番台,500番台に対応するエラーページをカスタマイズできます。
ステータスコードに対応するエラーページをカスタマイズすることによって,ステータスコードに対応するファイルの送信と,ステータスコードに対応するリダイレクトを実行できます。
-
ステータスコードに対応するファイルの送信
カスタマイズするステータスコードに対して,レスポンスボディとして特定のファイルをクライアントに返すことができます。この場合,レスポンスのContent-Typeヘッダの値を指定します。
なお,リクエスト処理時にファイルの読み込みに失敗した場合,デフォルトのエラーページが使用されます。
-
ステータスコードに対応するリダイレクト
カスタマイズするステータスコードに対して,特定のURLにリダイレクトできます。リダイレクトする場合,レスポンスのステータスコードに302を設定して,LocationヘッダにリダイレクトURLを指定します。
ステータスコードに対応するファイルを送信する場合,リダイレクトは実行できません。
-
-
リクエストURLに対応するエラーページのカスタマイズ
リクエストURLを指定して,特定のURLのエラーページをカスタマイズできます。リクエストURLを指定した場合,指定したURLと一致するリクエスト処理でエラーが発生した場合だけ,カスタマイズしたエラーページをクライアントに返します。