ErrorDocument ディレクティブを使用して、表示されたエラー ページの URL にエラーをスローしたサイトのパスを追加することはできません。ただし、PHP を使用しているため、$_SERVER["REDIRECT_URL"]
エラー処理スクリプト内からグローバル値を使用できます。
詳細については、http: //httpd.apache.org/docs/current/custom-error.html#variablesを参照してください。
別の URL へのリダイレクトは便利ですが、エラー状態をより明確に説明または記録するために使用できる情報を渡すことができる場合に限ります。
これを実現するために、エラー リダイレクトが送信されると、追加の環境変数が設定されます。この環境変数は、元のヘッダー名の先頭に「REDIRECT_」を追加することで、元のリクエストに提供されたヘッダーから生成されます。これにより、エラー ドキュメントに元の要求のコンテキストが提供されます。
たとえば、より一般的な環境変数に加えて、次のようなものを受け取る場合があります。
REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/jpeg, image/png
REDIRECT_HTTP_USER_AGENT=Mozilla/5.0 Fedora/3.5.8-1.fc12 Firefox/3.5.8
REDIRECT_PATH=.:/bin:/usr/local/bin:/sbin
REDIRECT_QUERY_STRING=
REDIRECT_REMOTE_ADDR=121.345.78.123
REDIRECT_REMOTE_HOST=client.example.com
REDIRECT_SERVER_NAME=www.example.edu
REDIRECT_SERVER_PORT=80
REDIRECT_SERVER_SOFTWARE=Apache/2.2.15
REDIRECT_URL=/cgi-bin/buggy.pl
REDIRECT_ 環境変数は、リダイレクト前に存在していた環境変数から作成されます。それらは REDIRECT_ プレフィックスで名前が変更されます。つまり、HTTP_USER_AGENT は REDIRECT_HTTP_USER_AGENT になります。
REDIRECT_URL、REDIRECT_STATUS、および REDIRECT_QUERY_STRING は確実に設定され、その他のヘッダーは、エラー状態になる前に存在していた場合にのみ設定されます。
ErrorDocument ターゲットが外部リダイレクト (サーバーと同じホストを参照していても、http: のようなスキーム名で始まるもの) の場合、これらはいずれも設定されません。