+++ /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>Environment Variables in Apache</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">Environment Variables in Apache</h1>
-
- <p>The Apache HTTP Server provides a mechanism for storing
- information in named variables that are called <em>environment
- variables</em>. This information can be used to control various
- operations such as logging or access control. The variables are
- also used as a mechanism to communicate with external programs
- such as CGI scripts. This document discusses different ways to
- manipulate and use these variables.</p>
-
- <p>Although these variables are referred to as <em>environment
- variables</em>, they are not the same as the environment
- variables controlled by the underlying operating system.
- Instead, these variables are stored and manipulated in an
- internal Apache structure. They only become actual operating
- system environment variables when they are provided to CGI
- scripts and Server Side Include scripts. If you wish to
- manipulate the operating system environment under which the
- server itself runs, you must use the standard environment
- manipulation mechanisms provided by your operating system
- shell.</p>
-
- <ul>
- <li><a href="#setting">Setting Environment Variables</a></li>
-
- <li><a href="#using">Using Environment Variables</a></li>
-
- <li><a href="#special">Special Purpose Environment
- Variables</a></li>
-
- <li><a href="#examples">Examples</a></li>
- </ul>
- <hr />
-
- <h2><a id="setting" name="setting">Setting Environment
- Variables</a></h2>
-
- <table border="1">
- <tr>
- <td valign="top"><strong>Related Modules</strong><br />
- <br />
- <a href="mod/mod_env.html">mod_env</a><br />
- <a href="mod/mod_rewrite.html">mod_rewrite</a><br />
- <a href="mod/mod_setenvif.html">mod_setenvif</a><br />
- <a href="mod/mod_unique_id.html">mod_unique_id</a><br />
- </td>
-
- <td valign="top"><strong>Related Directives</strong><br />
- <br />
- <a
- href="mod/mod_setenvif.html#BrowserMatch">BrowserMatch</a><br />
- <a
- href="mod/mod_setenvif.html#BrowserMatchNoCase">BrowserMatchNoCase</a><br />
- <a href="mod/mod_env.html#passenv">PassEnv</a><br />
- <a
- href="mod/mod_rewrite.html#RewriteRule">RewriteRule</a><br />
- <a href="mod/mod_env.html#setenv">SetEnv</a><br />
- <a
- href="mod/mod_setenvif.html#SetEnvIf">SetEnvIf</a><br />
- <a
- href="mod/mod_setenvif.html#SetEnvIfNoCase">SetEnvIfNoCase</a><br />
- <a href="mod/mod_env.html#unsetenv">UnsetEnv</a><br />
- </td>
- </tr>
- </table>
-
- <h3>Basic Environment Manipulation</h3>
-
- <p>The most basic way to set an environment variable in Apache
- is using the unconditional <code>SetEnv</code> directive.
- Variables may also be passed from the environment of the shell
- which started the server using the <code>PassEnv</code>
- directive.</p>
-
- <h3>Conditional Per-Request Settings</h3>
-
- <p>For additional flexibility, the directives provided by
- mod_setenvif allow environment variables to be set on a
- per-request basis, conditional on characteristics of particular
- requests. For example, a variable could be set only when a
- specific browser (User-Agent) is making a request, or only when
- a specific Referer [sic] header is found. Even more flexibility
- is available through the mod_rewrite's <code>RewriteRule</code>
- which uses the <code>[E=...]</code> option to set environment
- variables.</p>
-
- <h3>Unique Identifiers</h3>
-
- <p>Finally, mod_unique_id sets the environment variable
- <code>UNIQUE_ID</code> for each request to a value which is
- guaranteed to be unique across "all" requests under very
- specific conditions.</p>
-
- <h3>Standard CGI Variables</h3>
-
- <p>In addition to all environment variables set within the
- Apache configuration and passed from the shell, CGI scripts and
- SSI pages are provided with a set of environment variables
- containing meta-information about the request as required by
- the <a href="http://cgi-spec.golux.com/">CGI
- specification</a>.</p>
-
- <h3>Some Caveats</h3>
-
- <ul>
- <li>It is not possible to override or change the standard CGI
- variables using the environment manipulation directives.</li>
-
- <li>When <a href="suexec.html">suexec</a> is used to launch
- CGI scripts, the environment will be cleaned down to a set of
- <em>safe</em> variables before CGI scripts are launched. The
- list of <em>safe</em> variables is defined at compile-time in
- <code>suexec.c</code>.</li>
-
- <li>For portability reasons, the names of environment
- variables may contain only letters, numbers, and the
- underscore character. In addition, the first character may
- not be a number. Characters which do not match this
- restriction will be replaced by an underscore when passed to
- CGI scripts and SSI pages.</li>
- </ul>
- <hr />
-
- <h2><a id="using" name="using">Using Environment
- Variables</a></h2>
-
- <table border="1">
- <tr>
- <td valign="top"><strong>Related Modules</strong><br />
- <br />
- <a href="mod/mod_access.html">mod_access</a><br />
- <a href="mod/mod_cgi.html">mod_cgi</a><br />
- <a href="mod/mod_headers.html">mod_headers</a><br />
- <a href="mod/mod_include.html">mod_include</a><br />
- <a href="mod/mod_log_config.html">mod_log_config</a><br />
- <a href="mod/mod_rewrite.html">mod_rewrite</a><br />
- </td>
-
- <td valign="top"><strong>Related Directives</strong><br />
- <br />
- <a href="mod/mod_access.html#allow">Allow</a><br />
- <a
- href="mod/mod_log_config.html#customlog">CustomLog</a><br />
- <a href="mod/mod_access.html#deny">Deny</a><br />
- <a href="mod/mod_headers.html#Header">Header</a><br />
- <a
- href="mod/mod_log_config.html#logformat">LogFormat</a><br />
- <a
- href="mod/mod_rewrite.html#RewriteCond">RewriteCond</a><br />
- <a
- href="mod/mod_rewrite.html#RewriteRule">RewriteRule</a><br />
- </td>
- </tr>
- </table>
-
- <h3>CGI Scripts</h3>
-
- <p>One of the primary uses of environment variables is to
- communicate information to CGI scripts. As discussed above, the
- environment passed to CGI scripts includes standard
- meta-information about the request in addition to any variables
- set within the Apache configuration. For more details, see the
- <a href="howto/cgi.html">CGI tutorial</a>.</p>
-
- <h3>SSI Pages</h3>
-
- <p>Server-parsed (SSI) documents processed by mod_include's
- <code>INCLUDES</code> filter can print environment variables
- using the <code>echo</code> element, and can use environment
- variables in flow control elements to makes parts of a page
- conditional on characteristics of a request. Apache also
- provides SSI pages with the standard CGI environment variables
- as discussed above. For more details, see the <a
- href="howto/ssi.html">SSI tutorial</a>.</p>
-
- <h3>Access Control</h3>
-
- <p>Access to the server can be controlled based on the value of
- environment variables using the <code>allow from env=</code>
- and <code>deny from env=</code> directives. In combination with
- <code>SetEnvIf</code>, this allows for flexible control of
- access to the server based on characteristics of the client.
- For example, you can use these directives to deny access to a
- particular browser (User-Agent).</p>
-
- <h3>Conditional Logging</h3>
-
- <p>Environment variables can be logged in the access log using
- the <code>LogFormat</code> option <code>%e</code>. In addition,
- the decision on whether or not to log requests can be made
- based on the status of environment variables using the
- conditional form of the <code>CustomLog</code> directive. In
- combination with <code>SetEnvIf</code> this allows for flexible
- control of which requests are logged. For example, you can
- choose not to log requests for filenames ending in
- <code>gif</code>, or you can choose to only log requests from
- clients which are outside your subnet.</p>
-
- <h3>Conditional Response Headers</h3>
-
- <p>The <code>Header</code> directive can use the presence or
- absence of an environment variable to determine whether or not
- a certain HTTP header will be placed in the response to the
- client. This allows, for example, a certain response header to
- be sent only if a corresponding header is received in the
- request from the client.</p>
-
- <h3>URL Rewriting</h3>
-
- <p>The <code>%{ENV:...}</code> form of <em>TestString</em> in
- the <code>RewriteCond</code> allows mod_rewrite's rewrite
- engine to make decisions conditional on environment variables.
- Note that the variables accessible in mod_rewrite without the
- <code>ENV:</code> prefix are not actually environment
- variables. Rather, they are variables special to mod_rewrite
- which cannot be accessed from other modules.</p>
- <hr />
-
- <h2><a id="special" name="special">Special Purpose Environment
- Variables</a></h2>
-
- <p>Interoperability problems have led to the introduction of
- mechanisms to modify the way Apache behaves when talking to
- particular clients. To make these mechanisms as flexible as
- possible, they are invoked by defining environment variables,
- typically with <a
- href="mod/mod_setenvif.html#browsermatch">BrowserMatch</a>,
- though <a href="mod/mod_env.html#setenv">SetEnv</a> and <a
- href="mod/mod_env.html#passenv">PassEnv</a> could also be used,
- for example.</p>
-
- <h2>downgrade-1.0</h2>
-
- <p>This forces the request to be treated as a HTTP/1.0 request
- even if it was in a later dialect.</p>
-
- <h2>force-no-vary</h2>
-
- <p>This causes any <code>Vary</code> fields to be removed from
- the response header before it is sent back to the client. Some
- clients don't interpret this field correctly (see the <a
- href="misc/known_client_problems.html">known client
- problems</a> page); setting this variable can work around this
- problem. Setting this variable also implies
- <strong>force-response-1.0</strong>.</p>
-
- <h2>force-response-1.0</h2>
-
- <p>This forces an HTTP/1.0 response when set. It was originally
- implemented as a result of a problem with AOL's proxies. Some
- clients may not behave correctly when given an HTTP/1.1
- response, and this can be used to interoperate with them.</p>
-
- <h2>nokeepalive</h2>
-
- <p>This disables <a
- href="mod/core.html#keepalive">KeepAlive</a> when set.</p>
-
- <h2>redirect-carefully</h2>
-
- <p>This forces the server to be more careful when sending a redirect
- to the client. This is typically used when a client has a known
- problem handling redirects. This was originally implemented as a
- result of a problem with Microsoft's WebFolders software which has
- a problem handling redirects on directory resources via DAV
- methods.</p>
-
- <hr />
- <h2><a id="examples" name="examples">Examples</a></h2>
-
- <h3>Changing protocol behavior with misbehaving clients</h3>
-
- <p>We recommend that the following lines be included in
- httpd.conf to deal with known client problems.</p>
-<pre>
-#
-# The following directives modify normal HTTP response behavior.
-# The first directive disables keepalive for Netscape 2.x and browsers that
-# spoof it. There are known problems with these browser implementations.
-# The second directive is for Microsoft Internet Explorer 4.0b2
-# which has a broken HTTP/1.1 implementation and does not properly
-# support keepalive when it is used on 301 or 302 (redirect) responses.
-#
-BrowserMatch "Mozilla/2" nokeepalive
-BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
-
-#
-# The following directive disables HTTP/1.1 responses to browsers which
-# are in violation of the HTTP/1.0 spec by not being able to grok a
-# basic 1.1 response.
-#
-BrowserMatch "RealPlayer 4\.0" force-response-1.0
-BrowserMatch "Java/1\.0" force-response-1.0
-BrowserMatch "JDK/1\.0" force-response-1.0
-</pre>
-
- <h3>Do not log requests for images in the access log</h3>
-
- <p>This example keeps requests for images from appearing in the
- access log. It can be easily modified to prevent logging of
- particular directories, or to prevent logging of requests
- coming from particular hosts.</p>
-<pre>
- SetEnvIf Request_URI \.gif image-request
- SetEnvIf Request_URI \.jpg image-request
- SetEnvIf Request_URI \.png image-request
- CustomLog logs/access_log env=!image-request
-</pre>
-
- <h3>Prevent "Image Theft"</h3>
-
- <p>This example shows how to keep people not on your server
- from using images on your server as inline-images on their
- pages. This is not a recommended configuration, but it can work
- in limited circumstances. We assume that all your images are in
- a directory called /web/images.</p>
-<pre>
- SetEnvIf Referer "^http://www.example.com/" local_referal
- # Allow browsers that do not send Referer info
- SetEnvIf Referer "^$" local_referal
- <Directory /web/images>
- Order Deny,Allow
- Deny from all
- Allow from env=local_referal
- </Directory>
-</pre>
-
- <p>For more information about this technique, see the
- ApacheToday tutorial " <a
- href="http://apachetoday.com/news_story.php3?ltsn=2000-06-14-002-01-PS">
- Keeping Your Images from Adorning Other Sites</a>".</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>Apache \e$B$N4D6-JQ?t\e(B</title>
+ </head>
+ <!-- English revision: 1.20 -->
+ <!-- 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">Apache \e$B$K$*$1$k4D6-JQ?t\e(B</h1>
+
+ <p>Apache HTTP \e$B%5!<%P$O\e(B<em>\e$B4D6-JQ?t\e(B</em>\e$B$H8F$P$l$k!"L>A0$N$D$$$?\e(B
+ \e$BJQ?t$K>pJs$r5-21$9$k;EAH$_$rDs6!$7$F$$$^$9!#$3$N>pJs$O%m%0<}=8$d\e(B
+ \e$B%"%/%;%9@)8f$J$I$N$$$m$$$m$JA`:n$r@)8f$9$k$?$a$K;H$&$3$H$,$G$-$^$9!#\e(B
+ \e$B$3$l$i$NJQ?t$O\e(B CGI \e$B%9%/%j%W%H$J$I$N30It%W%m%0%i%`$HDL?.$9$k$?$a$K$b\e(B
+ \e$B;H$o$l$^$9!#$3$NJ8=q$O$=$l$i$NJQ?t$NA`:nJ}K!$H;HMQJ}K!$r$$$/$D$+\e(B
+ \e$B>R2p$7$^$9!#\e(B</p>
+
+
+ <p>\e$B$3$l$i$NJQ?t$O\e(B<em>\e$B4D6-JQ?t\e(B</em>\e$B$H8F$P$l$F$$$^$9$,!"%*%Z%l!<%F%#%s%0\e(B
+ \e$B%7%9%F%`$K$h$C$F@)8f$5$l$F$$$k4D6-JQ?t$HF1$8$G$O$"$j$^$;$s!#\e(B
+ \e$B<B:]$O!"$3$l$i$NJQ?t$O\e(B Apache \e$B$NFbIt9=B$$NCf$K5-21$5$l!"A`:n$5$l$F$$$^$9!#\e(B
+ \e$B$=$l$i$O!"\e(BCGI \e$B$d\e(B SSI \e$B%9%/%j%W%H$KEO$5$l$?$H$-$@$1!"<B:]$N\e(B
+ \e$B%*%Z%l!<%F%#%s%0%7%9%F%`$N4D6-JQ?t$K$J$j$^$9!#%5!<%P<+?H$,\e(B
+ \e$B<B9T$5$l$F$$$k%*%Z%l!<%F%#%s%0%7%9%F%`$N4D6-$rA`:n$7$?$$>l9g$O!"\e(B
+ \e$B%*%Z%l!<%F%#%s%0%7%9%F%`$N%7%'%k$,Ds6!$7$F$$$kI8=`$N4D6-JQ?t$N\e(B
+ \e$BA`:nJ}K!$r;H$o$J$1$l$P$J$j$^$;$s!#\e(B</p>
+
+ <ul>
+ <li><a href="#setting">\e$B4D6-JQ?t$N@_Dj\e(B</a></li>
+
+ <li><a href="#using">\e$B4D6-JQ?t$N;HMQ\e(B</a></li>
+
+ <li><a href="#special">\e$BFCJL$JL\E*$N4D6-JQ?t\e(B</a></li>
+
+ <li><a href="#examples">\e$BNc\e(B</a></li>
+ </ul>
+ <hr />
+
+ <h2><a id="setting" name="setting">\e$B4D6-JQ?t$N@_Dj\e(B</a></h2>
+
+
+ <table border="1">
+ <tr>
+ <td valign="top"><strong>\e$B4XO"%b%8%e!<%k\e(B</strong><br />
+ <br />
+ <a href="mod/mod_env.html">mod_env</a><br />
+ <a href="mod/mod_rewrite.html">mod_rewrite</a><br />
+ <a href="mod/mod_setenvif.html">mod_setenvif</a><br />
+ <a href="mod/mod_unique_id.html">mod_unique_id</a><br />
+ </td>
+
+ <td valign="top"><strong>\e$B4XO"%G%#%l%/%F%#%V\e(B</strong><br />
+ <br />
+ <a
+ href="mod/mod_setenvif.html#BrowserMatch">BrowserMatch</a><br />
+ <a
+ href="mod/mod_setenvif.html#BrowserMatchNoCase">BrowserMatchNoCase</a><br />
+ <a href="mod/mod_env.html#passenv">PassEnv</a><br />
+ <a
+ href="mod/mod_rewrite.html#RewriteRule">RewriteRule</a><br />
+ <a href="mod/mod_env.html#setenv">SetEnv</a><br />
+ <a
+ href="mod/mod_setenvif.html#SetEnvIf">SetEnvIf</a><br />
+ <a
+ href="mod/mod_setenvif.html#SetEnvIfNoCase">SetEnvIfNoCase</a><br />
+ <a href="mod/mod_env.html#unsetenv">UnsetEnv</a><br />
+ </td>
+ </tr>
+ </table>
+
+ <h3>\e$B4pK\E*$J4D6-$NA`:n\e(B</h3>
+
+ <p>Apache \e$B$K$*$$$F4D6-JQ?t$r@_Dj$9$k0lHV4pK\E*$JJ}K!$O!"\e(B
+ \e$BL5>r7o$K4D6-JQ?t$r@_Dj$9$k\e(B <code>SetEnv</code>
+ \e$B%G%#%l%/%F%#%V$r;HMQ$9$k$3$H$G$9!#\e(B <code>PassEnv</code>
+ \e$B%G%#%l%/%F%#%V$K$h$j!"\e(BApache \e$B$,5/F0$5$l$?%7%'%k$N\e(B
+ \e$B4D6-JQ?t$rEO$9$3$H$b$G$-$^$9!#\e(B</p>
+
+ <h3>\e$B%j%/%(%9%HKh$K>r7o$K4p$E$$$F@_Dj$9$k\e(B</h3>
+
+ <p>\e$B$h$j=@Fp@-$r9b$a$k$?$a$K!"\e(Bmod_setenvif
+ \e$B$GDs6!$5$l$F$$$k%G%#%l%/%F%#%V$r;HMQ$9$k$3$H$G!"%j%/%(%9%H$N\e(B
+ \e$BFC@-$K4p$E$$$F4D6-JQ?t$r@_Dj$9$k$3$H$,$G$-$^$9!#Nc$($P!"FCDj$N%V%i%&%6\e(B
+ (User-Agent) \e$B$N%j%/%(%9%H$dFCDj$N\e(B Referer [\e$B0U?^E*$JDV$j$G$9\e(B]
+ (\e$BLuCm\e(B: \e$B@5$7$$DV$j$O\e(B referrer \e$B$G$9$,!"\e(BHTTP \e$B$N;EMM$G$O\e(B Referer
+ \e$B$H$J$C$F$$$^$9\e(B) \e$B%X%C%@$,8+$D$+$C$?$H$-$N$_JQ?t$r@_Dj$9$k$3$H$,$G$-$^$9!#\e(B
+ mod_rewrite \e$B$N\e(B <code>RewriteRule</code> \e$B%G%#%l%/%F%#%V$K$*$$$F\e(B
+ \e$B4D6-JQ?t$r@_Dj$9$k\e(B <code>[E=...]</code> \e$B%*%W%7%g%s$r;HMQ$9$k$3$H$G!"\e(B
+ \e$B$h$j=@Fp$J@_Dj$r9T$J$&$3$H$,$G$-$^$9!#\e(B</p>
+
+ <h3>\e$B0l0U$J<1JL;R\e(B</h3>
+
+ <p>mod_unique_id \e$B$O!"Hs>o$K8B$i$l$?>r7o$N2<$G\e(B
+ \e$B!V$9$Y$F!W$N%j%/%(%9%H$K$D$$$F!"0l0U$G$"$k$3$H$,J]>Z$5$l$F$$$kCM$r4D6-JQ?t\e(B
+ <code>UNIQUE_ID</code> \e$B$K@_Dj$7$^$9!#\e(B
+ </p>
+
+ <h3>\e$BI8=`\e(B CGI \e$BJQ?t\e(B</h3>
+
+ <p>Apache \e$B$N@_Dj%U%!%$%k$G@_Dj$5$l$?4D6-JQ?t$H%7%'%k$+$iEO$5$l$k\e(B
+ \e$B4D6-JQ?t$K2C$($F!"\e(BCGI \e$B%9%/%j%W%H$H\e(B SSI \e$B%Z!<%8$K$O\e(B <a
+ href="http://cgi-spec.golux.com">CGI \e$B$N;EMM\e(B</a>\e$B$GMW5a$5$l$F$$$k!"\e(B
+ \e$B%j%/%(%9%H$N%a%?>pJs$r;}$C$?4D6-JQ?t$NAH$,Ds6!$5$l$^$9!#\e(B
+ </p>
+
+ <h3>\e$B$$$/$D$+$NCm0U\e(B</h3>
+
+ <ul>
+ <li>\e$B4D6-$rA`:n$9$k%G%#%l%/%F%#%V$r;H$C$FI8=`\e(B CGI
+ \e$BJQ?t$r>e=q$-$7$?$jJQ99$7$?$j$9$k$3$H$O$G$-$^$;$s!#\e(B</li>
+
+ <li>CGI \e$B%9%/%j%W%H$r5/F0$9$k$?$a$K\e(B <a href="suexec.html">suexec</a>
+ \e$B$,;HMQ$5$l$F$$$k>l9g!"\e(BCGI \e$B%9%/%j%W%H$,5/F0$9$k$?$a$K!"4D6-JQ?t$O\e(B<em
+ >\e$B0BA4\e(B</em>\e$B$J4D6-JQ?t$NAH$K@0M}$5$l$^$9!#\e(B
+ \e$B$3$N0BA4$J4D6-JQ?t$N=89g$O!"%3%s%Q%$%k;~$K\e(B <code>suexec.c</code>
+ \e$B$GDj5A$5$l$^$9!#\e(B</li>
+
+ <li>\e$B0\?"@-$N$?$a$K!"4D6-JQ?t$NL>A0$O%"%k%U%!%Y%C%H!"\e(B
+ \e$B?t;z$H%"%s%@!<%9%3%"\e(B (\e$BLuCm\e(B: '_') \e$B$@$1$+$i@.$j$^$9!#\e(B
+ \e$B$5$i$K!":G=i$NJ8;z$O?t;z$G$"$C$F$O$$$1$^$;$s!#\e(B
+ \e$B$3$N@)8B$K9g$o$J$$J8;z$O\e(B CGI \e$B%9%/%j%W%H$H\e(B SSI
+ \e$B%Z!<%8$KEO$5$l$k$H$-$K%"%s%@!<%9%3%"$KCV49$5$l$^$9!#\e(B
+ </li>
+ </ul>
+ <hr />
+
+ <h2><a id="using" name="using">\e$B4D6-JQ?t$N;HMQ\e(B</a></h2>
+
+
+ <table border="1">
+ <tr>
+ <td valign="top"><strong>\e$B4XO"%b%8%e!<%k\e(B</strong><br />
+ <br />
+ <a href="mod/mod_access.html">mod_access</a><br />
+ <a href="mod/mod_cgi.html">mod_cgi</a><br />
+ <a href="mod/mod_headers.html">mod_headers</a><br />
+ <a href="mod/mod_include.html">mod_include</a><br />
+ <a href="mod/mod_log_config.html">mod_log_config</a><br />
+ <a href="mod/mod_rewrite.html">mod_rewrite</a><br />
+ </td>
+
+ <td valign="top"><strong>\e$B4XO"%G%#%l%/%F%#%V\e(B</strong><br />
+ <br />
+ <a href="mod/mod_access.html#allow">Allow</a><br />
+ <a
+ href="mod/mod_log_config.html#customlog">CustomLog</a><br />
+ <a href="mod/mod_access.html#deny">Deny</a><br />
+ <a href="mod/mod_headers.html#Header">Header</a><br />
+ <a
+ href="mod/mod_log_config.html#logformat">LogFormat</a><br />
+ <a
+ href="mod/mod_rewrite.html#RewriteCond">RewriteCond</a><br />
+ <a
+ href="mod/mod_rewrite.html#RewriteRule">RewriteRule</a><br />
+ </td>
+ </tr>
+ </table>
+
+ <h3>CGI \e$B%9%/%j%W%H\e(B</h3>
+
+ <p>\e$B4D6-JQ?t$N<g$JMxMQK!$N0l$D$O!"\e(BCGI \e$B%9%/%j%W%H$K>pJs$rEA$($k$3$H$G$9!#\e(B
+ \e$B>e$G@bL@$5$l$F$$$k$h$&$K!"\e(BCGI \e$B%9%/%j%W%H$KEO$5$l$k4D6-JQ?t$O\e(B Apache
+ \e$B$N@_Dj$K$h$j@_Dj$5$l$kJQ?t$K2C$($F!"%j%/%(%9%H$NI8=`$N%a%?>pJs$r4^$s$G$$$^$9!#\e(B
+ \e$B>\:Y$O\e(B <a href="howto/cgi.html">CGI \e$B%A%e!<%H%j%"%k\e(B</a> \e$B$r;2>H$7$F$/$@$5$$!#\e(B
+ </p>
+
+
+ <h3>SSI \e$B%Z!<%8\e(B</h3>
+
+ <p>
+ mod_include \e$B$N\e(B <code>INCLUDES</code> \e$B%U%#%k%?$G=hM}$5$l$k\e(B
+ server-parsed (SSI) \e$B%I%-%e%a%s%H$G$O!"\e(B<code>echo</code>
+ \e$BMWAG$r;HMQ$9$k$H4D6-JQ?t$,=PNO$5$l$^$9!#\e(B
+ \e$B$^$?!"%Z!<%8$N$"$kItJ,$,%j%/%(%9%H$N@-<A$K1~$8$FJQ99$5$l$k$h$&$K!"\e(B
+ \e$B4D6-JQ?t$r%U%m!<@)8fMWAG$G;H$&$3$H$,$G$-$^$9!#>\:Y$O\e(B
+ <a href="howto/ssi.html">SSI \e$B%A%e!<%H%j%"%k\e(B</a> \e$B$r;2>H$7$F$/$@$5$$!#\e(B
+ </p>
+
+ <h3>\e$B%"%/%;%9@)8f\e(B</h3>
+
+ <p><code>allow from env=</code> \e$B%G%#%l%/%F%#%V$H\e(B <code>deny from env=</code>
+ \e$B%G%#%l%/%F%#%V$r;HMQ$7$F!"%5!<%P$X$N%"%/%;%9$r4D6-JQ?t$NCM$G@)8f$9$k$3$H$,$G$-$^$9!#\e(B
+ <code>SetEnvIf</code> \e$B%G%#%l%/%F%#%V$HAH$_9g$o$;$k$3$H$G!"%/%i%$%"%s%H$NFC@-$K4p$E$$$F\e(B
+ \e$B%5!<%P$X$N%"%/%;%9@)8f$r=@Fp$K9T$J$&$3$H$,$G$-$k$h$&$K$J$j$^$9!#\e(B
+ \e$BNc$($P!"$3$l$i$N%G%#%l%/%F%#%V$r;HMQ$7$F!"FCDj$N%V%i%&%6\e(B (User-Agent)
+ \e$B$+$i$N%"%/%;%9$r5qH]$9$k$3$H$,$G$-$^$9!#\e(B
+ </p>
+
+ <h3>\e$B>r7oIU$-%m%05-O?\e(B</h3>
+
+ <p>
+ <code>LogFormat</code> \e$B%G%#%l%/%F%#%V$N%*%W%7%g%s\e(B <code>%e</code>
+ \e$B$r;HMQ$9$k$3$H$G!"4D6-JQ?t$r%"%/%;%9%m%0$K5-O?$9$k$3$H$,$G$-$^$9!#$5$i$K!"\e(B
+ <code>CustomLog</code> \e$B%G%#%l%/%F%#%V$N>r7oJ,4t<0$r;HMQ$9$k$3$H$G!"\e(B
+ \e$B4D6-JQ?t$NCM$K$h$C$F%j%/%(%9%H$r%m%0$K5-O?$9$k$+$I$&$+$r7h$a$k$3$H$,$G$-$^$9!#\e(B
+ <code>SetEnvIf</code> \e$B%G%#%l%/%F%#%V$HAH$_9g$o$;$k$3$H$G!"\e(B
+ \e$B$I$N%j%/%(%9%H$r%m%0$K5-O?$9$k$+$r=@Fp$K@)8f$9$k$3$H$,2DG=$K$J$j$^$9!#Nc$($P!"\e(B
+ <code>gif</code> \e$B$G=*$o$k%U%!%$%kL>$X$N%j%/%(%9%H$O%m%0$K5-O?$7$J$$!"\e(B
+ \e$B0c$&%5%V%M%C%H$N%/%i%$%"%s%H$+$i$N%j%/%(%9%H$@$1$r%m%0$K5-O?$9$k!"$H$$$&A*Br$,2DG=$G$9!#\e(B
+ </p>
+
+ <h3>\e$B>r7oIU$-1~Ez%X%C%@\e(B</h3>
+
+ <p><code>Header</code> \e$B%G%#%l%/%F%#%V$O4D6-JQ?t$NB8:_$dIT:_$K\e(B
+ \e$B$h$C$F%/%i%$%"%s%H$X$N1~Ez$KFCDj$N\e(B HTTP \e$B%X%C%@$rIU$1$k$+$I$&$+$r\e(B
+ \e$B7h$a$k$3$H$,$G$-$^$9!#$3$l$K$h$j!"Nc$($P!"%/%i%$%"%s%H$+$i$N%j%/%(%9%H\e(B
+ \e$B$K$"$k%X%C%@$,$"$k>l9g$K$N$_FCDj$N1~Ez%X%C%@$rAw$k!"$H$$$&$h$&$J$3$H$,\e(B
+ \e$B$G$-$^$9!#\e(B</p>
+
+ <h3>URL \e$B$N=q$-49$(\e(B</h3>
+
+ <p><code>RewriteCond</code> \e$B%G%#%l%/%F%#%V$G\e(B<em>\e$BI>2AJ8;zNs\e(B</em>\e$B$H$7$F\e(B
+ <code>%{ENV:...}</code> \e$B<0$r;XDj$9$k$3$H$G!"\e(Bmod_rewrite
+ \e$B$N=q$-49$(%(%s%8%s$,4D6-JQ?t$K4p$$$F>r7oJ,4t$r9T$J$&$3$H$,$G$-$^$9!#\e(B
+ mod_rewrite \e$B$,;HMQ2DG=$JJQ?t$G\e(B <code>ENV:</code> \e$B$,A0$K$D$$$F$$$J$$JQ?t$O!"\e(B
+ \e$B<B:]$O4D6-JQ?t$G$O$J$$$H$$$&$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+ \e$B$=$l$i$OB>$N%b%8%e!<%k$+$i$O;HMQ$G$-$J$$\e(B mod_rewrite \e$BMQ$NFCJL$JJQ?t$G$9!#\e(B
+ </p>
+ <hr />
+
+ <h2><a id="special" name="special">\e$BFCJL$JL\E*$N4D6-JQ?t\e(B</a></h2>
+
+
+ <p>
+ \e$B8_49@-$NLdBj$r2r7h$9$k$?$a$K!"FCDj$N%/%i%$%"%s%H$HDL?.$7$F$$$k$H$-$O\e(B
+ Apache \e$B$NF0:n$rJQ99$G$-$k5!9=$,F3F~$5$l$^$7$?!#$G$-$k$@$1=@Fp$K$9$k$?$a$K!"\e(B
+ \e$B$3$l$i$N5!9=$O4D6-JQ?t$rDj5A$9$k$3$H$G8F$S=P$5$l$^$9!#IaDL$O!"\e(B
+ <a href="mod/mod_setenvif.html#browsermatch">BrowserMatch</a>
+ \e$B%G%#%l%/%F%#%V$r;H$$$^$9$,!"Nc$($P\e(B <a href="mod/mod_env.html#setenv"
+ >SetEnv</a> \e$B%G%#%l%/%F%#%V$d\e(B <a href="mod/mod_env.html#passenv"
+ >PassEnv</a> \e$B%G%#%l%/%F%#%V$b;HMQ$9$k$3$H$,$G$-$^$9!#\e(B
+ </p>
+
+ <h2>downgrade-1.0</h2>
+
+ <p>\e$B$3$l$r;XDj$9$k$3$H$G!"%j%/%(%9%H$,\e(B HTTP/1.0
+ \e$B$h$j?7$7$$%W%m%H%3%k$N>l9g$G$b!"\e(BHTTP/1.0 \e$B$H$7$F07$o$l$^$9!#\e(B</p>
+
+ <h2>force-no-vary</h2>
+
+ <p>\e$B1~Ez%X%C%@$,%/%i%$%"%s%H$KAw$i$l$kA0$K\e(B <code>Vary</code>
+ \e$B%U%#!<%k%I$r<h$j=|$-$^$9!#\e(B
+ \e$B%/%i%$%"%s%H$NCf$K$O$3$N%U%#!<%k%I$r@5$7$/2r<a$7$J$$$b$N$,$"$j$^$9\e(B
+ (<a href="misc/known_client_problems.html">\e$B%/%i%$%"%s%H$N4{CN$NLdBj\e(B</a>
+ \e$B$N%Z!<%8$r;2>H$7$F$/$@$5$$\e(B)\e$B!#$3$NJQ?t$r@_Dj$9$k$3$H$G$=$NLdBj$r2sHr\e(B
+ \e$B$9$k$3$H$,$G$-$^$9!#$3$NJQ?t$r@_Dj$9$k$H!"\e(B<strong>force-response-1.0</strong>
+ \e$B$,@_Dj$5$l$?$3$H$K$J$j$^$9!#\e(B</p>
+
+ <h2>force-response-1.0</h2>
+
+ <p>\e$B$3$l$,@_Dj$5$l$F$$$k$H!">o$K\e(B HTTP/1.0 \e$B$G$N1~Ez$K$J$j$^$9!#$3$N5!G=$O!"\e(B
+ \e$B85!9$O\e(B AOL \e$B$N%W%m%-%7$NLdBj$N$?$a$K<BAu$5$l$^$7$?!#%/%i%$%"%s%H$NCf$K$O!"\e(B
+ HTTP/1.1 \e$B$N1~Ez$rJV$5$l$k$H@5$7$/F0:n$7$J$$$b$N$,$"$k$+$b$7$l$^$;$s!#\e(B
+ \e$B$3$N5!G=$r;HMQ$9$k$3$H$G!"$=$N$h$&$J%/%i%$%"%s%H$H$N4V$N8_49@-LdBj$r2r7h$G$-$^$9!#\e(B</p>
+
+ <h2>nokeepalive</h2>
+
+ <p>\e$B$3$l$,@_Dj$5$l$F$$$k>l9g$O!"\e(B<a href="mod/core.html#keepalive"
+ >KeepAlive</a> \e$B$r;HMQ$7$J$$$h$&$K$7$^$9!#\e(B</p>
+ <hr />
+
+ <h2><a id="examples" name="examples">\e$BNc\e(B</a></h2>
+
+ <h2>redirect-carefully</h2>
+
+ <p>This forces the server to be more careful when sending a redirect
+ to the client. This is typically used when a client has a known
+ problem handling redirects. This was originally implemented as a
+ result of a problem with Microsoft's WebFolders software which has
+ a problem handling redirects on directory resources via DAV
+ methods.</p>
+
+ <h3>\e$B$*$+$7$J5sF0$r$9$k%/%i%$%"%s%H$KBP$7$F%W%m%H%3%k$NF0:n$rJQ99$9$k\e(B</h3>
+
+ <p>\e$B%/%i%$%"%s%H$K4X$9$k4{CN$NLdBj$KBP=h$9$k$?$a$K!"0J2<$N9T$r\e(B
+ httpd.conf \e$B$KF~$l$k$3$H$r?d>)$7$F$$$^$9!#\e(B</p>
+<pre>
+#
+# The following directives modify normal HTTP response behavior.
+# The first directive disables keepalive for Netscape 2.x and browsers that
+# spoof it. There are known problems with these browser implementations.
+# The second directive is for Microsoft Internet Explorer 4.0b2
+# which has a broken HTTP/1.1 implementation and does not properly
+# support keepalive when it is used on 301 or 302 (redirect) responses.
+#
+BrowserMatch "Mozilla/2" nokeepalive
+BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
+
+#
+# The following directive disables HTTP/1.1 responses to browsers which
+# are in violation of the HTTP/1.0 spec by not being able to grok a
+# basic 1.1 response.
+#
+BrowserMatch "RealPlayer 4\.0" force-response-1.0
+BrowserMatch "Java/1\.0" force-response-1.0
+BrowserMatch "JDK/1\.0" force-response-1.0
+</pre>
+
+ <h3>\e$B2hA|$X$N%j%/%(%9%H$r%"%/%;%9%m%0$K5-O?$7$J$$\e(B</h3>
+
+ <p>\e$B$3$NNc$G$O!"2hA|$X$N%j%/%(%9%H$,%"%/%;%9%m%0$K8=$l$J$$$h$&$K$7$^$9!#\e(B
+ \e$B$3$l$rJQ99$9$k$3$H$G!"FCDj$N%G%#%l%/%H%j$N%m%0<}=8$r$d$a$?$j!"\e(B
+ \e$BFCDj$N%[%9%H$+$i$N%j%/%(%9%H$N%m%0<}=8$r$d$a$?$j$9$k$3$H$,4JC1$K$G$-$^$9!#\e(B
+ </p>
+<pre>
+ SetEnvIf Request_URI \.gif image-request
+ SetEnvIf Request_URI \.jpg image-request
+ SetEnvIf Request_URI \.png image-request
+ CustomLog logs/access_log env=!image-request
+</pre>
+
+ <h3>\e$B!V2hA|$NEpMQ!W$rKI$0\e(B</h3>
+
+ <p>\e$B$3$NNc$O!"JL$N%5!<%P$K$$$k?M$,!"$"$J$?$N%5!<%P$K$"$k2hA|$r\e(B
+ inline \e$B2hA|$H$7$F;HMQ$9$k$3$H$rKI$.$^$9!#\e(B
+ \e$B$3$l$O?d>)$5$l$F$$$k@_Dj$G$O$"$j$^$;$s$,!"$"$k8BDj$5$l$?>u67$G$OM-8z$G$9!#\e(B
+ \e$B$3$3$G$O!"$9$Y$F$N2hA|$O\e(B /web/images \e$B$H$$$&%G%#%l%/%H%j$K$"$k$H2>Dj$7$^$9!#\e(B
+ </p>
+<pre>
+ SetEnvIf Referer "^http://www.example.com/" local_referal
+ # Allow browsers that do not send Referer info
+ SetEnvIf Referer "^$" local_referal
+ <Directory /web/images>
+ Order Deny,Allow
+ Deny from all
+ Allow from env=local_referal
+ </Directory>
+</pre>
+
+ <p>\e$B$3$N<jK!$K4X$9$k>\$7$$>pJs$O\e(B ApacheToday \e$B$N%A%e!<%H%j%"%k\e(B "<a
+ href="http://apachetoday.com/news_story.php3?ltsn=2000-06-14-002-01-ps"
+ >Keeping Your Images from Adorning Other Sites</a>"
+ \e$B$r;2>H$7$F$/$@$5$$!#\e(B</p>
+ <!--#include virtual="footer.html" -->
+ </body>
+</html>