Apache HTTP サーバ バージョン 2.4

ウェブマスターが何らかのエラーや問題に対する Apache の反応を設定できるようにする追加機能を提供します。
サーバがエラーや問題を発見した場合の反応を、 カスタマイズして定義することができます。
スクリプトの実行が失敗して "500 Server Error" を発生させたとします。この場合の反応を、より好ましいテキストや、別の URL (内部及び外部) へのリダイレクションに置き換えることができます。
NCSA httpd 1.3 は、古くて退屈なエラー/問題メッセージを 返していました。それはしばしばユーザには無意味であり、 またそれを発生させた原因を記録する方法も提供していませんでした。
するようにサーバを設定できます。
別の URL にリダイレクトすることは役に立ちますが、 それは説明をしたり、より明確に誤り/問題を記録したりするために 何か情報を伝えられるときに限ります。
これを実現するために、 Apache は新しく CGI のような環境変数を 定義します:
          REDIRECT_HTTP_ACCEPT=*/*, image/gif,
          image/x-xbitmap, image/jpeg
           REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX
          A.09.05 9000/712)
           REDIRECT_PATH=.:/bin:/usr/local/bin:/etc
           REDIRECT_QUERY_STRING=
           REDIRECT_REMOTE_ADDR=121.345.78.123
           REDIRECT_REMOTE_HOST=ooh.ahhh.com
           REDIRECT_SERVER_NAME=crash.bang.edu
           REDIRECT_SERVER_PORT=80
           REDIRECT_SERVER_SOFTWARE=Apache/0.8.15
           REDIRECT_URL=/cgi-bin/buggy.pl
        
頭に付く REDIRECT_ に注目してください。
少なくとも REDIRECT_URL と
        REDIRECT_QUERY_STRING は新しい URL (CGI スクリプトか
        CGI インクルードであると仮定されます) に渡されます。
        他の変数は、エラーや問題が起きる前に存在した場合にだけ存在します。
        もしあなたの設定した ErrorDocument が 外部リダイレクト
        (すなわち、http: 
        のような体系名から始まるすべてのもの。たとえ同じホストを指していても)
        ならば、これらはまったく設定されません。
AllowOverride が適切に設定されていれば、
    .htaccess ファイルで ErrorDocument
    を使用することができます。
ここに、いくつかの例を挙げます。
      ErrorDocument 500 /cgi-bin/crash-recover 
      ErrorDocument 500 "Sorry, our script crashed. Oh dear" 
      ErrorDocument 500 http://xxx/ 
      ErrorDocument 404 /Lame_excuses/not_found.html 
      ErrorDocument 401 /Subscription/how_to_subscribe.html
    
構文
      ErrorDocument <3-digit-code> <action>
    
action (動作) は、下記のいずれかです
スクリプト/SSI に追加の環境変数が利用可能になるように、 リダイレクトされた URL に対する Apache の動作が変更されました。
リダイレクトされたスクリプトは標準の CGI 環境変数を利用可能でした。しかし、どこからリダイレクト されたかの情報は提供されていませんでした。
リダイレクトされた先のスクリプトが使用可能なように、
      新しいたくさんの環境変数が初期化されます。新しい変数は、それぞれ
      REDIRECT_ で始まります。
      REDIRECT_ で始まる環境変数はリダイレクトされる前に存在していた
      CGI 環境変数の頭に REDIRECT_ を付けて作成されます。
      すなわち、HTTP_USER_AGENT は 
      REDIRECT_HTTP_USER_AGENT になります。
      これらの新しい変数に加えて、Apache は、
      スクリプトがリダイレクト元のトレースを助けるために
      REDIRECT_URL と REDIRECT_STATUS
      を定義します。アクセスログには元の URL とリダイレクトされた URL
      の両方が記録されます。
ErrorDocument が CGI スクリプトへのローカルリダイレクトを
    指定している場合は、それを起動することになったエラーの状態を
    クライアントまで確実に伝えるために "Status:" 
    ヘッダを含むべきです。例えば、ErrorDocument 用の Perl
    スクリプトは以下のようなものを含むかもしれません。
    
        ... 
        print  "Content-type: text/html\n"; 
        printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"}; 
        ...
      
スクリプトが 404 Not Found のような
    特定のエラーコンディションを扱うためだけに使われる場合は、
    代わりに特定のコードとエラーテキストを使用することができます。