+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta name="generator" content="HTML Tidy, see www.w3.org" />
-
- <title>PATH_INFO Changes in the CGI Environment</title>
- </head>
- <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-
- <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
- vlink="#000080" alink="#FF0000">
- <!--#include virtual="header.html" -->
-
- <h1 align="CENTER">PATH_INFO Changes in the CGI
- Environment</h1>
- <hr />
-
- <h2><a id="over" name="over">Overview</a></h2>
-
- <p>As implemented in Apache 1.1.1 and earlier versions, the
- method Apache used to create PATH_INFO in the CGI environment
- was counterintuitive, and could result in crashes in certain
- cases. In Apache 1.2 and beyond, this behavior has changed.
- Although this results in some compatibility problems with
- certain legacy CGI applications, the Apache 1.2 behavior is
- still compatible with the CGI/1.1 specification, and CGI
- scripts can be easily modified (<a href="#compat">see
- below</a>).</p>
-
- <h2><a id="prob" name="prob">The Problem</a></h2>
-
- <p>Apache 1.1.1 and earlier implemented the PATH_INFO and
- SCRIPT_NAME environment variables by looking at the filename,
- not the URL. While this resulted in the correct values in many
- cases, when the filesystem path was overloaded to contain path
- information, it could result in errant behavior. For example,
- if the following appeared in a config file:</p>
-<pre>
- Alias /cgi-ralph /usr/local/httpd/cgi-bin/user.cgi/ralph
-</pre>
-
- <p>In this case, <code>user.cgi</code> is the CGI script, the
- "/ralph" is information to be passed onto the CGI. If this
- configuration was in place, and a request came for
- "<code>/cgi-ralph/script/</code>", the code would set PATH_INFO
- to "<code>/ralph/script</code>", and SCRIPT_NAME to
- "<code>/cgi-</code>". Obviously, the latter is incorrect. In
- certain cases, this could even cause the server to crash.</p>
-
- <h2><a id="solution" name="solution">The Solution</a></h2>
-
- <p>Apache 1.2 and later now determine SCRIPT_NAME and PATH_INFO
- by looking directly at the URL, and determining how much of the
- URL is client-modifiable, and setting PATH_INFO to it. To use
- the above example, PATH_INFO would be set to
- "<code>/script</code>", and SCRIPT_NAME to
- "<code>/cgi-ralph</code>". This makes sense and results in no
- server behavior problems. It also permits the script to be
- guaranteed that
- "<code>http://$SERVER_NAME:$SERVER_PORT$SCRIPT_NAME$PATH_INFO</code>"
- will always be an accessible URL that points to the current
- script, something which was not necessarily true with previous
- versions of Apache.</p>
-
- <p>However, the "<code>/ralph</code>" information from the
- <code>Alias</code> directive is lost. This is unfortunate, but
- we feel that using the filesystem to pass along this sort of
- information is not a recommended method, and a script making
- use of it "deserves" not to work. Apache 1.2b3 and later,
- however, do provide <a href="#compat">a workaround.</a></p>
-
- <h2><a id="compat" name="compat">Compatibility with Previous
- Servers</a></h2>
-
- <p>It may be necessary for a script that was designed for
- earlier versions of Apache or other servers to need the
- information that the old PATH_INFO variable provided. For this
- purpose, Apache 1.2 (1.2b3 and later) sets an additional
- variable, FILEPATH_INFO. This environment variable contains the
- value that PATH_INFO would have had with Apache 1.1.1.</p>
-
- <p>A script that wishes to work with both Apache 1.2 and
- earlier versions can simply test for the existence of
- FILEPATH_INFO, and use it if available. Otherwise, it can use
- PATH_INFO. For example, in Perl, one might use:</p>
-<pre>
- $path_info = $ENV{'FILEPATH_INFO'} || $ENV{'PATH_INFO'};
-</pre>
-
- <p>By doing this, a script can work with all servers supporting
- the CGI/1.1 specification, including all versions of
- Apache.</p>
- <!--#include virtual="footer.html" -->
- </body>
-</html>
-
--- /dev/null
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+
+ <title>CGI \e$B4D6-$N\e(B PATH_INFO \e$B$NJQ99\e(B</title>
+ <!-- English revision: 1.8 -->
+ </head>
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+
+ <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+ vlink="#000080" alink="#ff0000">
+ <!--#include virtual="header.html" -->
+
+ <h1 align="center">CGI \e$B4D6-$N\e(B PATH_INFO \e$B$NJQ99\e(B</h1>
+ <hr />
+
+
+ <h2><a id="over" name="over">\e$B35MW\e(B</a></h2>
+
+ <p>Apache 1.1.1 \e$B$*$h$S$=$l0JA0$N%P!<%8%g%s$G<BAu$5$l$F$$$?\e(B
+ CGI \e$B4D6-$G\e(B PATH_INFO \e$B$r:n@.$9$kJ}K!$OD>4QE*$G$J$/!"\e(B
+ \e$B>l9g$K$h$C$F$O%/%i%C%7%e$9$k$3$H$b$"$j$^$7$?!#\e(B
+ Apache 1.2 \e$B5Z$S$=$l0J9_$K$*$$$F!"$3$NF0:n$,JQ99$5$l$^$7$?!#\e(B
+ \e$B$3$N$3$H$K$h$jFCDj$N8E$$\e(B CGI \e$B%"%W%j%1!<%7%g%s$K$*$$$F$$$/$D$+\e(B
+ \e$B8_49@-$NLdBj$,@8$8$k$3$H$,$"$j$^$9$,!"$=$l$G$b\e(B Apache 1.2 \e$B$NF0:n$O\e(B
+ CGI/1.1 \e$B;EMM$H8_49$,$"$j!"\e(BCGI \e$B%9%/%j%W%H$OMF0W$K=$@5$G$-$^$9\e(B(<a
+ href="#compat">\e$B0J2<;2>H\e(B</a>)\e$B!#\e(B</p>
+
+ <h2><a id="prob" name="prob">\e$BLdBj\e(B</a></h2>
+
+ <p>Apache 1.1.1 \e$B$*$h$S$=$l0JA0$G$O!"\e(BURL \e$B$G$O$J$/%U%!%$%kL>$r;2>H$7$F\e(B
+ PATH_INFO \e$B$H\e(B SCRIPT_NAME \e$B4D6-JQ?t$r@_Dj$7$F$$$^$7$?!#\e(B
+ \e$BB?$/$N>l9g$O$3$l$,@5$7$$7k2L$rJV$7$^$9$,!"%Q%9>pJs$r4^$`$h$&$K\e(B
+ filesystem \e$B%Q%9$,%*!<%P!<%m!<%I$5$l$?>l9g$O!"\e(B
+ \e$B8m$C$?7k2L$rJV$9>l9g$,$"$j$^$7$?!#\e(B
+ \e$B$?$H$($P!"@_Dj%U%!%$%k$K0J2<$,$"$k>l9g\e(B</p>
+<pre>
+ Alias /cgi-ralph /usr/local/httpd/cgi-bin/user.cgi/ralph
+</pre>
+
+ <p>\e$B$3$N>l9g!"\e(B<code>user.cgi</code> \e$B$O\e(B CGI \e$B%9%/%j%W%H$G$"$j!"\e(B
+ "/ralph" \e$B$O!"\e(BCGI \e$B$KEO$5$l$k>pJs$G$9!#$b$7>e$N@_Dj$,$J$5$l$F$$$F!"\e(B
+ "<code>/cgi-ralph/script/</code>" \e$B$X$N%j%/%(%9%H$,Mh$l$P!"\e(B
+ PATH_INFO \e$B$K$O\e(B "<code>/ralph/script/</code>" \e$B$,!"\e(B
+ SCRIPT_NAME \e$B$K$O\e(B "<code>/cgi-</code>" \e$B$,@_Dj$5$l$^$9!#\e(B
+ \e$BL@$i$+$K!"8e<T$O4V0c$C$F$$$^$9!#FCDj$N>l9g$K$O!"$3$l$K$h$j\e(B
+ \e$B%5!<%P$,%/%i%C%7%e$9$k$3$H$5$($"$j$^$7$?!#\e(B</p>
+
+ <h2><a id="solution" name="solution">\e$B2r7h\e(B</a></h2>
+
+ <p>Apache 1.2 \e$B0J9_$G$O\e(B SCRIPT_NAME \e$B$H\e(B PATH_INFO \e$B$N7hDj$K$O\e(B URL
+ \e$B$rD>@\;2>H$7$F!"\e(BURL
+ \e$B$N$I$l$@$1$NItJ,$,%/%i%$%"%s%H$,JQ992DG=$J$N$+$r3NDj$5$;$?>e$G\e(B
+ PATH_INFO \e$B$r@_Dj$9$k$h$&$K$J$j$^$7$?!#>e$NNc$G$O!"\e(BPATH_INFO \e$B$K$O\e(B
+ "<code>/script</code>" \e$B$,!"\e(BSCRIPT_NAME \e$B$K$O\e(B
+ "<code>/cgi-ralph</code>" \e$B$,@_Dj$5$l$^$9!#\e(B
+ \e$B$3$l$O@5$7$/!"$5$i$K!"%5!<%P$NF0:n$KLdBj$r5/$3$9$3$H$b$"$j$^$;$s!#$^$?!"\e(B
+ "<code>http://$SERVER_NAME:$SERVER_PORT$SCRIPT_NAME$PATH_INFO</code>"
+ \e$B$,!">o$K:G?7$N%9%/%j%W%H$r;X$9!"%"%/%;%92DG=$J\e(B URL \e$B$G$"$k$3$H$r\e(B
+ \e$BJ]>Z$7$^$9!#$3$l$O!"0JA0$N%P!<%8%g%s$N\e(B Apache
+ \e$B$G$OI,$:$7$b$=$&$H$O8B$i$J$+$C$?$3$H$G$9!#\e(B
+ </p>
+
+ <p>\e$B$7$+$7\e(B <code>Alias</code> \e$B%G%#%l%/%F%#%V$+$i$N\e(B
+ "<code>/ralph</code>" \e$B>pJs$O<:$o$l$^$9!#\e(B
+ \e$B$3$l$O;DG0$G$9$,!"\e(Bfilesystem \e$B$rDL$7$F$3$N<oN`$N>pJs$r\e(B
+ \e$BEO$9$N$OA&$a$i$l$?J}K!$G$O$J$/!"\e(B
+ \e$B$^$?$=$l$r;H$C$?%9%/%j%W%H$OF0:n$7$J$/$F$bEvA3$@$H9M$($^$9!#\e(B
+ \e$B$?$@$7!"\e(BApache 1.2b3 \e$B0J9_$G$O\e(B<a
+ href="#compat">\e$BBeBX<jCJ\e(B</a>\e$B$rMQ0U$7$F$$$^$9!#\e(B</p>
+
+ <h2><a id="compat" name="compat">\e$B0JA0$N%5!<%P$H$N8_49@-\e(B</a></h2>
+
+ <p>\e$B0JA0$N%P!<%8%g%s$N\e(B Apache \e$B$dB>$N%5!<%P8~$1$K@_7W$5$l$?\e(B
+ \e$B%9%/%j%W%H$K$O8E$$\e(B PATH_INFO \e$BJQ?t$K$h$jDs6!$5$l$k>pJs$,\e(B
+ \e$BI,MW$G$"$k$+$b$7$l$^$;$s!#\e(B
+ \e$B$3$NL\E*$N$?$a$K!"\e(B
+ Apache 1.2 (1.2b3 \e$B0J9_\e(B) \e$B$G$ODI2C$NJQ?t!"\e(BFILEPATH_INFO
+ \e$B$r@_Dj$7$^$9!#$3$N4D6-JQ?t$K$O!"\e(BApache 1.1.1 \e$B$G\e(B
+ PATH_INFO \e$B$G$"$C$?$G$"$m$&CM$,@_Dj$5$l$^$9!#\e(B</p>
+
+ <p>Apache 1.2 \e$B$*$h$S$=$l0JA0$N%P!<%8%g%s$NN>J}$GF0:n$5$;$?$$%9%/%j%W%H$O!"\e(B
+ FILEPATH_INFO \e$B$NB8:_$rC1$KD4$Y$F!"$=$l$,$"$l$P\e(B
+ \e$B;H$&!"$H$$$&$3$H$,$G$-$^$9!#$=$&$G$J$1$l$P!"\e(BPATH_INFO
+ \e$B$r;H$&$3$H$,$G$-$^$9!#$?$H$($P!"\e(BPerl \e$B$G$O<!$N$b$N$r;H$&$3$H$,$G$-$^$9\e(B</p>
+<pre>
+ $path_info = $ENV{'FILEPATH_INFO'} || $ENV{'PATH_INFO'};
+</pre>
+
+ <p>\e$B$3$l$K$h$j!"%9%/%j%W%H$O$9$Y$F$N%P!<%8%g%s$N\e(B Apache \e$B$r4^$`!"\e(B
+ CGI/1.1 \e$B$r%5%]!<%H$9$k$9$Y$F$N%5!<%P$GF0:n$9$k$3$H$,$G$-$^$9!#\e(B
+ </p>
+ <!--#include virtual="footer.html" -->
+ </body>
+</html>
+
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta name="generator" content="HTML Tidy, see www.w3.org" />
-
- <title>Custom error responses</title>
- </head>
- <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
-
- <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
- vlink="#000080" alink="#FF0000">
- <!--#include virtual="header.html" -->
-
- <h1 align="CENTER">Custom error responses</h1>
-
- <dl>
- <dt>Purpose</dt>
-
- <dd>
- Additional functionality. Allows webmasters to configure
- the response of Apache to some error or problem.
-
- <p>Customizable responses can be defined to be activated in
- the event of a server detected error or problem.</p>
-
- <p>e.g. if a script crashes and produces a "500 Server
- Error" response, then this response can be replaced with
- either some friendlier text or by a redirection to another
- URL (local or external).</p>
- </dd>
-
- <dt>Old behavior</dt>
-
- <dd>NCSA httpd 1.3 would return some boring old error/problem
- message which would often be meaningless to the user, and
- would provide no means of logging the symptoms which caused
- it.<br />
- </dd>
-
- <dt>New behavior</dt>
-
- <dd>
- The server can be asked to;
-
- <ol>
- <li>Display some other text, instead of the NCSA hard
- coded messages, or</li>
-
- <li>redirect to a local URL, or</li>
-
- <li>redirect to an external URL.</li>
- </ol>
-
- <p>Redirecting to another URL can be useful, but only if
- some information can be passed which can then be used to
- explain and/or log the error/problem more clearly.</p>
-
- <p>To achieve this, Apache will define new CGI-like
- environment variables, <em>e.g.</em></p>
-
- <blockquote>
- <code>REDIRECT_HTTP_ACCEPT=*/*, image/gif,
- image/x-xbitmap, image/jpeg<br />
- REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX
- A.09.05 9000/712)<br />
- REDIRECT_PATH=.:/bin:/usr/local/bin:/etc<br />
- REDIRECT_QUERY_STRING=<br />
- REDIRECT_REMOTE_ADDR=121.345.78.123<br />
- REDIRECT_REMOTE_HOST=ooh.ahhh.com<br />
- REDIRECT_SERVER_NAME=crash.bang.edu<br />
- REDIRECT_SERVER_PORT=80<br />
- REDIRECT_SERVER_SOFTWARE=Apache/0.8.15<br />
- REDIRECT_URL=/cgi-bin/buggy.pl<br />
- </code>
- </blockquote>
-
- <p>note the <code>REDIRECT_</code> prefix.</p>
-
- <p>At least <code>REDIRECT_URL</code> and
- <code>REDIRECT_QUERY_STRING</code> will be passed to the
- new URL (assuming it's a cgi-script or a cgi-include). The
- other variables will exist only if they existed prior to
- the error/problem. <strong>None</strong> of these will be
- set if your ErrorDocument is an <em>external</em> redirect
- (<em>i.e.</em>, anything starting with a scheme name like
- <code>http:</code>, even if it refers to the same host as
- the server).</p>
- </dd>
-
- <dt>Configuration</dt>
-
- <dd>
- Use of "ErrorDocument" is enabled for .htaccess files when
- the <a href="mod/core.html#allowoverride">"FileInfo"
- override</a> is allowed.
-
- <p>Here are some examples...</p>
-
- <blockquote>
- <code>ErrorDocument 500 /cgi-bin/crash-recover<br />
- ErrorDocument 500 "Sorry, our script crashed. Oh
- dear<br />
- ErrorDocument 500 http://xxx/<br />
- ErrorDocument 404 /Lame_excuses/not_found.html<br />
- ErrorDocument 401
- /Subscription/how_to_subscribe.html</code>
- </blockquote>
-
- <p>The syntax is,</p>
-
- <p><code><a
- href="mod/core.html#errordocument">ErrorDocument</a></code>
- <3-digit-code> action</p>
-
- <p>where the action can be,</p>
-
- <ol>
- <li>Text to be displayed. Prefix the text with a quote
- ("). Whatever follows the quote is displayed. <em>Note:
- the (") prefix isn't displayed.</em></li>
-
- <li>An external URL to redirect to.</li>
-
- <li>A local URL to redirect to.</li>
- </ol>
- </dd>
- </dl>
- <hr />
-
- <h2>Custom error responses and redirects</h2>
-
- <dl>
- <dt>Purpose</dt>
-
- <dd>Apache's behavior to redirected URLs has been modified so
- that additional environment variables are available to a
- script/server-include.</dd>
-
- <dt>Old behavior</dt>
-
- <dd>Standard CGI vars were made available to a script which
- has been redirected to. No indication of where the
- redirection came from was provided.</dd>
-
- <dt>New behavior</dt>
-
- <dd>A new batch of environment variables will be initialized
- for use by a script which has been redirected to. Each new
- variable will have the prefix <code>REDIRECT_</code>.
- <code>REDIRECT_</code> environment variables are created from
- the CGI environment variables which existed prior to the
- redirect, they are renamed with a <code>REDIRECT_</code>
- prefix, <em>i.e.</em>, <code>HTTP_USER_AGENT</code> becomes
- <code>REDIRECT_HTTP_USER_AGENT</code>. In addition to these
- new variables, Apache will define <code>REDIRECT_URL</code>
- and <code>REDIRECT_STATUS</code> to help the script trace its
- origin. Both the original URL and the URL being redirected to
- can be logged in the access log.</dd>
- </dl>
-
- <p>If the ErrorDocument specifies a local redirect to a CGI
- script, the script should include a "<samp>Status:</samp>"
- header field in its output in order to ensure the propagation
- all the way back to the client of the error condition that
- caused it to be invoked. For instance, a Perl ErrorDocument
- script might include the following:</p>
-<pre>
- :
- print "Content-type: text/html\n";
- printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"};
- :
-</pre>
-
- <p>If the script is dedicated to handling a particular error
- condition, such as <samp>404 Not Found</samp>, it can
- use the specific code and error text instead.</p>
- <!--#include virtual="footer.html" -->
- </body>
-</html>
-
--- /dev/null
+<?xml version="1.0" encoding="iso-2022-jp"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
+ <head>
+
+ <title>\e$B%+%9%?%`%(%i!<%l%9%]%s%9\e(B</title>
+
+ </head>
+ <!-- English revision: 1.15 -->
+ <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <body bgcolor="#ffffff" text="#000000" link="#0000ff"
+ vlink="#000080" alink="#ff0000">
+ <!--#include virtual="header.html" -->
+
+ <h1 align="center">\e$B%+%9%?%`%(%i!<%l%9%]%s%9\e(B</h1>
+
+ <dl>
+ <dt>\e$BL\E*\e(B</dt>
+
+ <dd>
+ \e$BDI2C5!G=$NDs6!!#%&%'%V%^%9%?!<$,2?$i$+$N%(%i!<$dLdBj$KBP$9$k\e(B
+ Apache \e$B$NH?1~$r@_Dj$G$-$k$h$&$K$7$^$9!#\e(B
+
+ <p>\e$B%5!<%P$,%(%i!<$dLdBj$rH/8+$7$?>l9g$NH?1~$r!"\e(B
+ \e$B%+%9%?%^%$%:$7$FDj5A$9$k$3$H$,$G$-$^$9!#\e(B</p>
+
+ <p>\e$BNc$($P!"%9%/%j%W%H$N<B9T$,<:GT$7$F\e(B "500 Server Error"
+ \e$B$rH/@8$5$;$?$H$7$^$9!#$3$N>l9g$NH?1~$r!"$h$j9%$^$7$$%F%-%9%H$d!"JL$N\e(B
+ URL (\e$BFbIt5Z$S30It\e(B) \e$B$X$N%j%@%$%l%/%7%g%s$KCV$-49$($k$3$H$,$G$-$^$9!#\e(B
+ </p>
+ </dd>
+
+ <dt>\e$B8E$$F0:n\e(B</dt>
+
+ <dd>NCSA httpd 1.3 \e$B$O!"8E$/$FB`6~$J%(%i!<\e(B/\e$BLdBj%a%C%;!<%8$r\e(B
+ \e$BJV$7$F$$$^$7$?!#$=$l$O$7$P$7$P%f!<%6$K$OL50UL#$G$"$j!"\e(B
+ \e$B$^$?$=$l$rH/@8$5$;$?860x$r5-O?$9$kJ}K!$bDs6!$7$F$$$^$;$s$G$7$?!#\e(B
+ <br />
+ </dd>
+
+ <dt>\e$B?7$7$$F0:n\e(B</dt>
+
+ <dd>
+
+
+ <ol>
+ <li>NCSA \e$B$N%O!<%I%3!<%I$5$l$?%a%C%;!<%8$NBe$o$j$K\e(B
+ \e$BB>$N%F%-%9%H$rI=<(\e(B</li>
+
+ <li>\e$B%m!<%+%k$N\e(B URL \e$B$K%j%@%$%l%/%H\e(B</li>
+
+ <li>\e$B30It$N\e(B URL \e$B$K%j%@%$%l%/%H\e(B</li>
+ </ol>
+ \e$B$9$k$h$&$K%5!<%P$r@_Dj$G$-$^$9!#\e(B
+ <p>\e$BJL$N\e(B URL \e$B$K%j%@%$%l%/%H$9$k$3$H$OLr$KN)$A$^$9$,!"\e(B
+ \e$B$=$l$O@bL@$r$7$?$j!"$h$jL@3N$K8m$j\e(B/\e$BLdBj$r5-O?$7$?$j$9$k$?$a$K\e(B
+ \e$B2?$+>pJs$rEA$($i$l$k$H$-$K8B$j$^$9!#\e(B</p>
+
+ <p>\e$B$3$l$r<B8=$9$k$?$a$K!"\e(B Apache \e$B$O?7$7$/\e(B CGI \e$B$N$h$&$J4D6-JQ?t$rDj5A$7$^$9!#\e(B
+ <em>\e$BNc$($P\e(B</em>\e$B0J2<$N$h$&$J$b$N$,$"$j$^$9!#\e(B</p>
+
+ <blockquote>
+ <code>REDIRECT_HTTP_ACCEPT=*/*, image/gif,
+ image/x-xbitmap, image/jpeg<br />
+ REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX
+ A.09.05 9000/712)<br />
+ REDIRECT_PATH=.:/bin:/usr/local/bin:/etc<br />
+ REDIRECT_QUERY_STRING=<br />
+ REDIRECT_REMOTE_ADDR=121.345.78.123<br />
+ REDIRECT_REMOTE_HOST=ooh.ahhh.com<br />
+ REDIRECT_SERVER_NAME=crash.bang.edu<br />
+ REDIRECT_SERVER_PORT=80<br />
+ REDIRECT_SERVER_SOFTWARE=Apache/0.8.15<br />
+ REDIRECT_URL=/cgi-bin/buggy.pl<br />
+ </code>
+ </blockquote>
+
+ <p>\e$BF,$KIU$/\e(B <code>REDIRECT_</code> \e$B$KCmL\$7$F$/$@$5$$!#\e(B</p>
+
+ <p>\e$B>/$J$/$H$b\e(B <code>REDIRECT_URL</code> \e$B$H\e(B
+ <code>REDIRECT_QUERY_STRING</code> \e$B$O?7$7$$\e(B URL (CGI \e$B%9%/%j%W%H$+\e(B
+ CGI \e$B%$%s%/%k!<%I$G$"$k$H2>Dj$5$l$^$9\e(B) \e$B$KEO$5$l$^$9!#\e(B
+ \e$BB>$NJQ?t$O!"%(%i!<$dLdBj$,5/$-$kA0$KB8:_$7$?>l9g$K$@$1B8:_$7$^$9!#\e(B
+ \e$B$b$7$"$J$?$N@_Dj$7$?\e(B ErrorDocument \e$B$,\e(B <em>\e$B30It\e(B</em>\e$B%j%@%$%l%/%H\e(B
+ (<em>\e$B$9$J$o$A\e(B</em>\e$B!"\e(B<code>http:</code>
+ \e$B$N$h$&$JBN7OL>$+$i;O$^$k$9$Y$F$N$b$N!#$?$H$(F1$8%[%9%H$r;X$7$F$$$F$b\e(B)
+ \e$B$J$i$P!"$3$l$i$O\e(B<strong>\e$B$^$C$?$/\e(B</strong>\e$B@_Dj$5$l$^$;$s!#\e(B
+ </p>
+ </dd>
+
+ <dt>\e$B@_Dj\e(B</dt>
+
+ <dd>
+ <a href="mod/core.html#allowoverride">"FileInfo" \e$B%*!<%P!<%i%$%I\e(B</a>
+ \e$B$,5v2D$5$l$F$$$l$P!"\e(B.htaccess \e$B%U%!%$%k$G\e(B "ErrorDocument"
+ \e$B$r;HMQ$9$k$3$H$,$G$-$^$9!#\e(B
+
+ <p>\e$B$3$3$K!"$$$/$D$+$NNc$r5s$2$^$9!#\e(B</p>
+
+ <blockquote>
+ <code>ErrorDocument 500 /cgi-bin/crash-recover<br />
+ ErrorDocument 500 "Sorry, our script crashed. Oh
+ dear<br />
+ ErrorDocument 500 http://xxx/<br />
+ ErrorDocument 404 /Lame_excuses/not_found.html<br />
+ ErrorDocument 401
+ /Subscription/how_to_subscribe.html</code>
+ </blockquote>
+
+ <p>\e$B9=J8\e(B</p>
+
+ <p><code><a
+ href="mod/core.html#errordocument">ErrorDocument</a></code>
+ <3 \e$B7e%3!<%I\e(B> \e$BF0:n\e(B</p>
+
+ <p>\e$BF0:n$O!"\e(B</p>
+
+ <ol>
+ <li>\e$BI=<($5$l$k$Y$-%F%-%9%H!#%F%-%9%H$K$O0zMQId\e(B (") \e$B$r$D$1$^$9!#\e(B
+ \e$B0zMQId$N8e$KB3$/$b$N$,2?$G$bI=<($5$l$^$9!#\e(B
+ <em>\e$BCm0U\e(B : (") \e$B$OI=<($5$l$^$;$s\e(B</em></li>
+
+ <li>\e$B%j%@%$%l%/%H@h$N30It\e(B URL </li>
+
+ <li>\e$B%j%@%$%l%/%H@h$N%m!<%+%k\e(B URL </li>
+ </ol>
+ </dd>
+ </dl>
+ <hr />
+
+ <h2>\e$B%+%9%?%`%(%i!<%l%9%]%s%9$H%j%@%$%l%/%H\e(B</h2>
+
+ <dl>
+ <dt>\e$BL\E*\e(B </dt>
+
+ <dd>\e$B%9%/%j%W%H\e(B/SSI \e$B$KDI2C$N4D6-JQ?t$,MxMQ2DG=$K$J$k$h$&$K!"\e(B
+ \e$B%j%@%$%l%/%H$5$l$?\e(B URL \e$B$KBP$9$k\e(B Apache \e$B$NF0:n$,JQ99$5$l$^$7$?!#\e(B
+ </dd>
+
+ <dt>\e$B8E$$F0:n\e(B</dt>
+
+ <dd>\e$B%j%@%$%l%/%H$5$l$?%9%/%j%W%H$OI8=`$N\e(B CGI
+ \e$B4D6-JQ?t$rMxMQ2DG=$G$7$?!#$7$+$7!"$I$3$+$i%j%@%$%l%/%H\e(B
+ \e$B$5$l$?$+$N>pJs$ODs6!$5$l$F$$$^$;$s$G$7$?!#\e(B</dd>
+
+ <dt>\e$B?7$7$$F0:n\e(B </dt>
+
+ <dd>\e$B%j%@%$%l%/%H$5$l$?@h$N%9%/%j%W%H$,;HMQ2DG=$J$h$&$K!"\e(B
+ \e$B?7$7$$$?$/$5$s$N4D6-JQ?t$,=i4|2=$5$l$^$9!#?7$7$$JQ?t$O!"$=$l$>$l\e(B
+ <code>REDIRECT_</code> \e$B$G;O$^$j$^$9!#\e(B
+ <code>REDIRECT_</code> \e$B$G;O$^$k4D6-JQ?t$O%j%@%$%l%/%H$5$l$kA0$KB8:_$7$F$$$?\e(B
+ CGI \e$B4D6-JQ?t$NF,$K\e(B <code>REDIRECT_</code> \e$B$rIU$1$F:n@.$5$l$^$9!#\e(B
+ <em>\e$B$9$J$o$A\e(B</em>\e$B!"\e(B<code>HTTP_USER_AGENT</code> \e$B$O\e(B
+ <code>REDIRECT_HTTP_USER_AGENT</code> \e$B$K$J$j$^$9!#\e(B
+ \e$B$3$l$i$N?7$7$$JQ?t$K2C$($F!"\e(BApache \e$B$O!"\e(B
+ \e$B%9%/%j%W%H$,%j%@%$%l%/%H85$N%H%l!<%9$r=u$1$k$?$a$K\e(B
+ <code>REDIRECT_URL</code> \e$B$H\e(B <code>REDIRECT_STATUS</code>
+ \e$B$rDj5A$7$^$9!#%"%/%;%9%m%0$K$O85$N\e(B URL \e$B$H%j%@%$%l%/%H$5$l$?\e(B URL
+ \e$B$NN>J}$,5-O?$5$l$^$9!#\e(B</dd>
+ </dl>
+
+ <p>ErrorDocument \e$B$,\e(B CGI \e$B%9%/%j%W%H$X$N%m!<%+%k%j%@%$%l%/%H$r\e(B
+ \e$B;XDj$7$F$$$k>l9g$O!"$=$l$r5/F0$9$k$3$H$K$J$C$?%(%i!<$N>uBV$r\e(B
+ \e$B%/%i%$%"%s%H$^$G3N<B$KEA$($k$?$a$K\e(B <samp>"Status:" </samp>
+ \e$B%X%C%@$r4^$`$Y$-$G$9!#Nc$($P!"\e(BErrorDocument \e$BMQ$N\e(B Perl
+ \e$B%9%/%j%W%H$O0J2<$N$h$&$J$b$N$r4^$`$+$b$7$l$^$;$s!#\e(B
+ </p>
+<pre>
+ :
+ print "Content-type: text/html\n";
+ printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"};
+ :
+</pre>
+
+ <p>\e$B%9%/%j%W%H$,\e(B <samp>404 Not Found</samp> \e$B$N$h$&$J\e(B
+ \e$BFCDj$N%(%i!<%3%s%G%#%7%g%s$r07$&$?$a$@$1$K;H$o$l$k>l9g$O!"\e(B
+ \e$BBe$o$j$KFCDj$N%3!<%I$H%(%i!<%F%-%9%H$r;HMQ$9$k$3$H$,$G$-$^$9!#\e(B
+ </p>
+ <!--#include virtual="footer.html" -->
+ </body>
+</html>