]> granicus.if.org Git - apache/blob - docs/manual/custom-error.xml.ja
Update transforms
[apache] / docs / manual / custom-error.xml.ja
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.ja.xsl"?>
4 <!-- English Revision: 558686:1187986 (outdated) -->
5
6 <!--
7  Licensed to the Apache Software Foundation (ASF) under one or more
8  contributor license agreements.  See the NOTICE file distributed with
9  this work for additional information regarding copyright ownership.
10  The ASF licenses this file to You under the Apache License, Version 2.0
11  (the "License"); you may not use this file except in compliance with
12  the License.  You may obtain a copy of the License at
13
14      http://www.apache.org/licenses/LICENSE-2.0
15
16  Unless required by applicable law or agreed to in writing, software
17  distributed under the License is distributed on an "AS IS" BASIS,
18  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  See the License for the specific language governing permissions and
20  limitations under the License.
21 -->
22
23 <manualpage metafile="custom-error.xml.meta">
24
25   <title>カスタムエラーレスポンス</title>
26
27   <summary>
28     <p>ウェブマスターが何らかのエラーや問題に対する
29     Apache の反応を設定できるようにする追加機能を提供します。</p>
30
31     <p>サーバがエラーや問題を発見した場合の反応を、
32     カスタマイズして定義することができます。</p>
33
34     <p>スクリプトの実行が失敗して "500 Server Error"
35     を発生させたとします。この場合の反応を、より好ましいテキストや、別の
36     URL (内部及び外部) へのリダイレクションに置き換えることができます。
37     </p>
38   </summary>
39
40   <section id="behavior">
41     <title>動作</title>
42
43     <section>
44       <title>古い動作</title>
45
46       <p>NCSA httpd 1.3 は、古くて退屈なエラー/問題メッセージを
47       返していました。それはしばしばユーザには無意味であり、
48       またそれを発生させた原因を記録する方法も提供していませんでした。</p>
49     </section>
50
51     <section>
52       <title>新しい動作</title>
53
54         <ol>
55           <li>NCSA のハードコードされたメッセージの代わりに
56           他のテキストを表示</li>
57
58           <li>ローカルの URL にリダイレクト</li>
59
60           <li>外部の URL にリダイレクト</li>
61         </ol>
62
63         <p>するようにサーバを設定できます。</p>
64
65         <p>別の URL にリダイレクトすることは役に立ちますが、
66         それは説明をしたり、より明確に誤り/問題を記録したりするために
67         何か情報を伝えられるときに限ります。</p>
68
69         <p>これを実現するために、 Apache は新しく CGI のような環境変数を
70         定義します:</p>
71
72         <example>
73           REDIRECT_HTTP_ACCEPT=*/*, image/gif,
74           image/x-xbitmap, image/jpeg<br />
75            REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX
76           A.09.05 9000/712)<br />
77            REDIRECT_PATH=.:/bin:/usr/local/bin:/etc<br />
78            REDIRECT_QUERY_STRING=<br />
79            REDIRECT_REMOTE_ADDR=121.345.78.123<br />
80            REDIRECT_REMOTE_HOST=ooh.ahhh.com<br />
81            REDIRECT_SERVER_NAME=crash.bang.edu<br />
82            REDIRECT_SERVER_PORT=80<br />
83            REDIRECT_SERVER_SOFTWARE=Apache/0.8.15<br />
84            REDIRECT_URL=/cgi-bin/buggy.pl
85         </example>
86
87         <p>頭に付く <code>REDIRECT_</code> に注目してください。</p>
88
89         <p>少なくとも <code>REDIRECT_URL</code> と
90         <code>REDIRECT_QUERY_STRING</code> は新しい URL (CGI スクリプトか
91         CGI インクルードであると仮定されます) に渡されます。
92         他の変数は、エラーや問題が起きる前に存在した場合にだけ存在します。
93         もしあなたの設定した <directive
94         module="core">ErrorDocument</directive> が <em>外部</em>リダイレクト
95         (<em>すなわち</em>、<code>http:</code> 
96         のような体系名から始まるすべてのもの。たとえ同じホストを指していても)
97         ならば、これらは<strong>まったく</strong>設定されません。</p>
98     </section>
99   </section>
100
101   <section id="configuration">
102     <title>設定</title>
103
104     <p><directive module="core">AllowOverride</directive> が適切に設定されていれば、
105     .htaccess ファイルで <directive module="core">ErrorDocument</directive>
106     を使用することができます。</p>
107
108         <p>ここに、いくつかの例を挙げます。</p>
109
110     <example>
111       ErrorDocument 500 /cgi-bin/crash-recover <br />
112       ErrorDocument 500 "Sorry, our script crashed. Oh dear" <br />
113       ErrorDocument 500 http://xxx/ <br />
114       ErrorDocument 404 /Lame_excuses/not_found.html <br />
115       ErrorDocument 401 /Subscription/how_to_subscribe.html
116     </example>
117
118     <p>構文</p>
119
120     <example>
121       ErrorDocument &lt;3-digit-code&gt; &lt;action&gt;
122     </example>
123
124         <p>action (動作) は、下記のいずれかです</p>
125
126         <ol>
127           <li>表示するテキスト。テキストは引用符 (") で囲んで指定します。</li>
128
129           <li>リダイレクト先の外部 URL </li>
130
131           <li>リダイレクト先のローカル URL </li>
132         </ol>
133   </section>
134
135   <section id="custom">
136     <title>カスタムエラーレスポンスとリダイレクト</title>
137
138       <p>スクリプト/SSI に追加の環境変数が利用可能になるように、
139       リダイレクトされた URL に対する Apache の動作が変更されました。</p>
140
141     <section>
142       <title>古い動作</title>
143
144       <p>リダイレクトされたスクリプトは標準の CGI
145       環境変数を利用可能でした。しかし、どこからリダイレクト
146       されたかの情報は提供されていませんでした。</p>
147     </section>
148
149     <section>
150       <title>新しい動作</title>
151
152       <p>リダイレクトされた先のスクリプトが使用可能なように、
153       新しいたくさんの環境変数が初期化されます。新しい変数は、それぞれ
154       <code>REDIRECT_</code> で始まります。
155       <code>REDIRECT_</code> で始まる環境変数はリダイレクトされる前に存在していた
156       CGI 環境変数の頭に <code>REDIRECT_</code> を付けて作成されます。
157       <em>すなわち</em>、<code>HTTP_USER_AGENT</code> は 
158       <code>REDIRECT_HTTP_USER_AGENT</code> になります。
159       これらの新しい変数に加えて、Apache は、
160       スクリプトがリダイレクト元のトレースを助けるために
161       <code>REDIRECT_URL</code> と <code>REDIRECT_STATUS</code>
162       を定義します。アクセスログには元の URL とリダイレクトされた URL
163       の両方が記録されます。</p>
164
165     <p>ErrorDocument が CGI スクリプトへのローカルリダイレクトを
166     指定している場合は、それを起動することになったエラーの状態を
167     クライアントまで確実に伝えるために <code>"Status:" </code>
168     ヘッダを含むべきです。例えば、ErrorDocument 用の Perl
169     スクリプトは以下のようなものを含むかもしれません。
170     </p>
171
172       <example>
173         ... <br />
174         print  "Content-type: text/html\n"; <br />
175         printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"}; <br />
176         ...
177       </example>
178
179     <p>スクリプトが <code>404 Not Found</code> のような
180     特定のエラーコンディションを扱うためだけに使われる場合は、
181     代わりに特定のコードとエラーテキストを使用することができます。</p>
182     </section>
183   </section>
184 </manualpage>