github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_2_34/manual/env.html.en (about)

     1  <?xml version="1.0" encoding="ISO-8859-1"?>
     2  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     3  <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
     4  <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
     5  <!--
     6          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     7                This file is generated from xml source: DO NOT EDIT
     8          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     9        -->
    10  <title>Environment Variables in Apache - Apache HTTP Server Version 2.2</title>
    11  <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
    12  <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
    13  <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
    14  <script src="./style/scripts/prettify.min.js" type="text/javascript">
    15  </script>
    16  
    17  <link href="./images/favicon.ico" rel="shortcut icon" /><link href="http://httpd.apache.org/docs/current/env.html" rel="canonical" /></head>
    18  <body id="manual-page"><div id="page-header">
    19  <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p>
    20  <p class="apache">Apache HTTP Server Version 2.2</p>
    21  <img alt="" src="./images/feather.gif" /></div>
    22  <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
    23  <div id="path">
    24  <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.2</a></div><div id="page-content"><div class="retired"><h4>Please note</h4>
    25              <p> This document refers to a legacy release (<strong>2.2</strong>) of Apache httpd. The active release (<strong>2.4</strong>) is documented <a href="http://httpd.apache.org/docs/current">here</a>. If you have not already upgraded, please follow <a href="http://httpd.apache.org/docs/current/upgrading.html">this link</a> for more information.</p>
    26          <p>You may follow <a href="http://httpd.apache.org/docs/current/env.html">this link</a> to go to the current version of this document.</p></div><div id="preamble"><h1>Environment Variables in Apache</h1>
    27  <div class="toplang">
    28  <p><span>Available Languages: </span><a href="./en/env.html" title="English">&nbsp;en&nbsp;</a> |
    29  <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    30  <a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    31  <a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    32  </div>
    33  
    34      <p>The Apache HTTP Server provides a mechanism for storing
    35      information in named variables that are called <em>environment
    36      variables</em>. This information can be used to control various
    37      operations such as logging or access control. The variables are
    38      also used as a mechanism to communicate with external programs
    39      such as CGI scripts. This document discusses different ways to
    40      manipulate and use these variables.</p>
    41  
    42      <p>Although these variables are referred to as <em>environment
    43      variables</em>, they are not the same as the environment
    44      variables controlled by the underlying operating system.
    45      Instead, these variables are stored and manipulated in an
    46      internal Apache structure. They only become actual operating
    47      system environment variables when they are provided to CGI
    48      scripts and Server Side Include scripts. If you wish to
    49      manipulate the operating system environment under which the
    50      server itself runs, you must use the standard environment
    51      manipulation mechanisms provided by your operating system
    52      shell.</p>
    53    </div>
    54  <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#setting">Setting Environment Variables</a></li>
    55  <li><img alt="" src="./images/down.gif" /> <a href="#using">Using Environment Variables</a></li>
    56  <li><img alt="" src="./images/down.gif" /> <a href="#special">Special Purpose Environment Variables</a></li>
    57  <li><img alt="" src="./images/down.gif" /> <a href="#examples">Examples</a></li>
    58  </ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
    59  <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    60  <div class="section">
    61  <h2><a name="setting" id="setting">Setting Environment Variables</a></h2>
    62      
    63      <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_env.html">mod_env</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code></li><li><code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#unsetenv">UnsetEnv</a></code></li></ul></td></tr></table>
    64  
    65      <h3><a name="basic-manipulation" id="basic-manipulation">Basic Environment Manipulation</a></h3>
    66          
    67  
    68          <p>The most basic way to set an environment variable in Apache
    69          is using the unconditional <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> directive. Variables may also be passed from
    70          the environment of the shell which started the server using the
    71          <code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code> directive.</p>
    72  
    73      
    74      <h3><a name="conditional" id="conditional">Conditional Per-Request Settings</a></h3>
    75          
    76  
    77          <p>For additional flexibility, the directives provided by
    78          <code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> allow environment variables to be set
    79          on a per-request basis, conditional on characteristics of particular
    80          requests. For example, a variable could be set only when a
    81          specific browser (User-Agent) is making a request, or only when
    82          a specific Referer [sic] header is found. Even more flexibility
    83          is available through the <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>'s <code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> which uses the
    84          <code>[E=...]</code> option to set environment variables.</p>
    85  
    86      
    87      <h3><a name="unique-identifiers" id="unique-identifiers">Unique Identifiers</a></h3>
    88          
    89  
    90          <p>Finally, <code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code> sets the environment
    91          variable <code>UNIQUE_ID</code> for each request to a value which is
    92          guaranteed to be unique across "all" requests under very
    93          specific conditions.</p>
    94  
    95      
    96      <h3><a name="standard-cgi" id="standard-cgi">Standard CGI Variables</a></h3>
    97          
    98  
    99          <p>In addition to all environment variables set within the
   100          Apache configuration and passed from the shell, CGI scripts and
   101          SSI pages are provided with a set of environment variables
   102          containing meta-information about the request as required by
   103          the <a href="http://www.w3.org/CGI/">CGI
   104          specification</a>.</p>
   105  
   106      
   107      <h3><a name="caveats" id="caveats">Some Caveats</a></h3>
   108          
   109  
   110          <ul>
   111            <li>It is not possible to override or change the standard CGI
   112            variables using the environment manipulation directives.</li>
   113  
   114            <li>When <code class="program"><a href="./programs/suexec.html">suexec</a></code> is used to launch
   115            CGI scripts, the environment will be cleaned down to a set of
   116            <em>safe</em> variables before CGI scripts are launched. The
   117            list of <em>safe</em> variables is defined at compile-time in
   118            <code>suexec.c</code>.</li>
   119  
   120            <li>For portability reasons, the names of environment
   121            variables may contain only letters, numbers, and the
   122            underscore character. In addition, the first character may
   123            not be a number. Characters which do not match this
   124            restriction will be replaced by an underscore when passed to
   125            CGI scripts and SSI pages.</li>
   126  
   127            <li>The <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> directive runs
   128            late during request processing meaning that directives such as
   129            <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> and <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> will not see the
   130            variables set with it.</li>
   131          </ul>
   132      
   133    </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
   134  <div class="section">
   135  <h2><a name="using" id="using">Using Environment Variables</a></h2>
   136      
   137  
   138      <table class="related"><tr><th>Related Modules</th><th>Related Directives</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code></li><li><code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code></li><li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_authz_host.html#allow">Allow</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code></li><li><code class="directive"><a href="./mod/mod_authz_host.html#deny">Deny</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code></li><li><code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li></ul></td></tr></table>
   139  
   140      <h3><a name="cgi-scripts" id="cgi-scripts">CGI Scripts</a></h3>
   141          
   142  
   143          <p>One of the primary uses of environment variables is to
   144          communicate information to CGI scripts. As discussed above, the
   145          environment passed to CGI scripts includes standard
   146          meta-information about the request in addition to any variables
   147          set within the Apache configuration. For more details, see the
   148          <a href="howto/cgi.html">CGI tutorial</a>.</p>
   149  
   150      
   151      <h3><a name="ssi-pages" id="ssi-pages">SSI Pages</a></h3>
   152          
   153  
   154          <p>Server-parsed (SSI) documents processed by
   155          <code class="module"><a href="./mod/mod_include.html">mod_include</a></code>'s
   156          <code>INCLUDES</code> filter can print environment variables
   157          using the <code>echo</code> element, and can use environment
   158          variables in flow control elements to makes parts of a page
   159          conditional on characteristics of a request. Apache also
   160          provides SSI pages with the standard CGI environment variables
   161          as discussed above. For more details, see the <a href="howto/ssi.html">SSI tutorial</a>.</p>
   162  
   163      
   164      <h3><a name="access-control" id="access-control">Access Control</a></h3>
   165          
   166  
   167          <p>Access to the server can be controlled based on the value of
   168          environment variables using the <code>allow from env=</code>
   169          and <code>deny from env=</code> directives. In combination with
   170          <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, this
   171          allows for flexible control of access to the server based on
   172          characteristics of the client. For example, you can use these
   173          directives to deny access to a particular browser (User-Agent).
   174          </p>
   175  
   176      
   177      <h3><a name="logging" id="logging">Conditional Logging</a></h3>
   178          
   179  
   180          <p>Environment variables can be logged in the access log using
   181          the <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code>
   182          option <code>%e</code>. In addition, the decision on whether
   183          or not to log requests can be made based on the status of
   184          environment variables using the conditional form of the
   185          <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code>
   186          directive. In combination with <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> this allows for flexible control of which
   187          requests are logged. For example, you can choose not to log
   188          requests for filenames ending in <code>gif</code>, or you can
   189          choose to only log requests from clients which are outside your
   190          subnet.</p>
   191  
   192      
   193      <h3><a name="response-headers" id="response-headers">Conditional Response Headers</a></h3>
   194          
   195  
   196          <p>The <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code>
   197          directive can use the presence or
   198          absence of an environment variable to determine whether or not
   199          a certain HTTP header will be placed in the response to the
   200          client. This allows, for example, a certain response header to
   201          be sent only if a corresponding header is received in the
   202          request from the client.</p>
   203  
   204      
   205  
   206      <h3><a name="external-filter" id="external-filter">External Filter Activation</a></h3>
   207          
   208  
   209          <p>External filters configured by <code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code>
   210          using the <code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code> directive can
   211          by activated conditional on an environment variable using the
   212          <code>disableenv=</code> and <code>enableenv=</code> options.</p>
   213      
   214  
   215      <h3><a name="url-rewriting" id="url-rewriting">URL Rewriting</a></h3>
   216          
   217  
   218          <p>The <code>%{ENV:<em>variable</em>}</code> form of
   219          <em>TestString</em> in the <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> allows <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>'s rewrite
   220          engine to make decisions conditional on environment variables. Note
   221          that the variables accessible in <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> without
   222          the <code>ENV:</code> prefix are not actually environment variables.
   223          Rather, they are variables special to <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>
   224          which cannot be accessed from other modules.</p>
   225      
   226    </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
   227  <div class="section">
   228  <h2><a name="special" id="special">Special Purpose Environment Variables</a></h2>
   229      
   230  
   231          <p>Interoperability problems have led to the introduction of
   232          mechanisms to modify the way Apache behaves when talking to
   233          particular clients. To make these mechanisms as flexible as
   234          possible, they are invoked by defining environment variables,
   235          typically with <code class="directive"><a href="./mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, though <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> and  <code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code> could also be used, for example.</p>
   236  
   237      <h3><a name="downgrade" id="downgrade">downgrade-1.0</a></h3>
   238          
   239  
   240          <p>This forces the request to be treated as a HTTP/1.0 request
   241          even if it was in a later dialect.</p>
   242  
   243      
   244      <h3><a name="force-gzip" id="force-gzip">force-gzip</a></h3>
   245          
   246            <p>If you have the <code>DEFLATE</code> filter activated, this
   247            environment variable will ignore the accept-encoding setting of
   248            your browser and will send compressed output unconditionally.</p>
   249      
   250      <h3><a name="force-no-vary" id="force-no-vary">force-no-vary</a></h3>
   251          
   252  
   253          <p>This causes any <code>Vary</code> fields to be removed from
   254          the response header before it is sent back to the client. Some
   255          clients don't interpret this field correctly; setting this
   256          variable can work around this problem. Setting this variable
   257          also implies <strong>force-response-1.0</strong>.</p>
   258  
   259      
   260      <h3><a name="force-response" id="force-response">force-response-1.0</a></h3>
   261          
   262  
   263        <p>This forces an HTTP/1.0 response to clients making an HTTP/1.0
   264        request. It was originally
   265        implemented as a result of a problem with AOL's proxies. Some
   266        HTTP/1.0 clients may not behave correctly when given an HTTP/1.1
   267        response, and this can be used to interoperate with them.</p>
   268  
   269      
   270  
   271      <h3><a name="gzip-only-text-html" id="gzip-only-text-html">gzip-only-text/html</a></h3>
   272          
   273  
   274          <p>When set to a value of "1", this variable disables the
   275          <code>DEFLATE</code> output filter provided by
   276          <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> for content-types other than
   277          <code>text/html</code>. If you'd rather
   278          use statically compressed files, <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>
   279          evaluates the variable as well (not only for gzip, but for all
   280          encodings that differ from "identity").</p>
   281      
   282  
   283      <h3><a name="no-gzip" id="no-gzip">no-gzip</a></h3>
   284  
   285          <p>When set, the <code>DEFLATE</code> filter of
   286          <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> will be turned off and
   287          <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> will refuse to deliver encoded
   288          resources.</p>
   289  
   290      
   291  
   292      <h3><a name="no-cache" id="no-cache">no-cache</a></h3>
   293          <p><em>Available in versions 2.2.12 and later</em></p>
   294  
   295          <p>When set, <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> will not save an otherwise
   296          cacheable response.  This environment variable does not influence
   297          whether a response already in the cache will be served for the current 
   298          request.</p>
   299  
   300      
   301  
   302      <h3><a name="nokeepalive" id="nokeepalive">nokeepalive</a></h3>
   303          
   304  
   305          <p>This disables <code class="directive"><a href="./mod/core.html#keepalive">KeepAlive</a></code>
   306          when set.</p>
   307  
   308      
   309  
   310      <h3><a name="prefer-language" id="prefer-language">prefer-language</a></h3>
   311  
   312          <p>This influences <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>'s behaviour. If
   313          it contains a language tag (such as <code>en</code>, <code>ja</code>
   314          or <code>x-klingon</code>), <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> tries
   315          to deliver a variant with that language. If there's no such variant,
   316          the normal <a href="content-negotiation.html">negotiation</a> process
   317          applies.</p>
   318  
   319      
   320  
   321      <h3><a name="redirect-carefully" id="redirect-carefully">redirect-carefully</a></h3>
   322          
   323  
   324          <p>This forces the server to be more careful when sending a redirect
   325          to the client.  This is typically used when a client has a known
   326          problem handling redirects.  This was originally implemented as a
   327          result of a problem with Microsoft's WebFolders software which has
   328          a problem handling redirects on directory resources via DAV
   329          methods.</p>
   330  
   331      
   332  
   333     <h3><a name="suppress-error-charset" id="suppress-error-charset">suppress-error-charset</a></h3>
   334         
   335  
   336      <p><em>Available in versions after 2.0.54</em></p>
   337  
   338      <p>When Apache issues a redirect in response to a client request,
   339      the response includes some actual text to be displayed in case
   340      the client can't (or doesn't) automatically follow the redirection.
   341      Apache ordinarily labels this text according to the character set
   342      which it uses, which is ISO-8859-1.</p>
   343  
   344      <p> However, if the redirection is to a page that uses a different
   345      character set, some broken browser versions will try to use the
   346      character set from the redirection text rather than the actual page.
   347      This can result in Greek, for instance, being incorrectly rendered.</p>
   348  
   349      <p>Setting this environment variable causes Apache to omit the character
   350      set for the redirection text, and these broken browsers will then correctly
   351      use that of the destination page.</p>
   352  
   353      <div class="warning">
   354        <h3>Security note</h3>
   355  
   356        <p>Sending error pages without a specified character set may
   357        allow a cross-site-scripting attack for existing browsers (MSIE)
   358        which do not follow the HTTP/1.1 specification and attempt to
   359        "guess" the character set from the content.  Such browsers can
   360        be easily fooled into using the UTF-7 character set, and UTF-7
   361        content from input data (such as the request-URI) will not be
   362        escaped by the usual escaping mechanisms designed to prevent
   363        cross-site-scripting attacks.</p>
   364      </div>
   365  
   366     
   367  
   368     <h3><a name="proxy" id="proxy">force-proxy-request-1.0, proxy-nokeepalive, proxy-sendchunked,
   369     proxy-sendcl, proxy-chain-auth, proxy-interim-response, proxy-initial-not-pooled</a></h3>
   370  
   371     <p>These directives alter the protocol behavior of
   372     <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>.  See the <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> and <code class="module"><a href="./mod/mod_proxy_http.html">mod_proxy_http</a></code>
   373     documentation for more details.</p>
   374     
   375  
   376    </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
   377  <div class="section">
   378  <h2><a name="examples" id="examples">Examples</a></h2>
   379      
   380  
   381      <h3><a name="misbehaving" id="misbehaving">Changing protocol behavior with misbehaving clients</a></h3>
   382          
   383  
   384          <p>Earlier versions recommended that the following lines be included in
   385          httpd.conf to deal with known client problems.  Since the affected clients
   386          are no longer seen in the wild, this configuration is likely no-longer
   387          necessary.</p>
   388  <div class="example"><pre>#
   389  # The following directives modify normal HTTP response behavior.
   390  # The first directive disables keepalive for Netscape 2.x and browsers that
   391  # spoof it. There are known problems with these browser implementations.
   392  # The second directive is for Microsoft Internet Explorer 4.0b2
   393  # which has a broken HTTP/1.1 implementation and does not properly
   394  # support keepalive when it is used on 301 or 302 (redirect) responses.
   395  #
   396  BrowserMatch "Mozilla/2" nokeepalive
   397  BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
   398  
   399  #
   400  # The following directive disables HTTP/1.1 responses to browsers which
   401  # are in violation of the HTTP/1.0 spec by not being able to grok a
   402  # basic 1.1 response.
   403  #
   404  BrowserMatch "RealPlayer 4\.0" force-response-1.0
   405  BrowserMatch "Java/1\.0" force-response-1.0
   406  BrowserMatch "JDK/1\.0" force-response-1.0</pre></div>
   407  
   408      
   409      <h3><a name="no-img-log" id="no-img-log">Do not log requests for images in the access log</a></h3>
   410          
   411  
   412          <p>This example keeps requests for images from appearing in the
   413          access log. It can be easily modified to prevent logging of
   414          particular directories, or to prevent logging of requests
   415          coming from particular hosts.</p>
   416  
   417          <div class="example"><p><code>
   418            SetEnvIf Request_URI \.gif image-request<br />
   419            SetEnvIf Request_URI \.jpg image-request<br />
   420            SetEnvIf Request_URI \.png image-request<br />
   421            CustomLog logs/access_log common env=!image-request
   422          </code></p></div>
   423  
   424      
   425      <h3><a name="image-theft" id="image-theft">Prevent "Image Theft"</a></h3>
   426          
   427  
   428          <p>This example shows how to keep people not on your server
   429          from using images on your server as inline-images on their
   430          pages. This is not a recommended configuration, but it can work
   431          in limited circumstances. We assume that all your images are in
   432          a directory called /web/images.</p>
   433  
   434          <div class="example"><p><code>
   435            SetEnvIf Referer "^http://www\.example\.com/" local_referal<br />
   436            # Allow browsers that do not send Referer info<br />
   437            SetEnvIf Referer "^$" local_referal<br />
   438            &lt;Directory /web/images&gt;
   439            <span class="indent">
   440              Order Deny,Allow<br />
   441              Deny from all<br />
   442              Allow from env=local_referal
   443            </span>
   444            &lt;/Directory&gt;
   445          </code></p></div>
   446  
   447          <p>For more information about this technique, see the
   448  	"<a href="http://www.serverwatch.com/tutorials/article.php/1132731">Keeping Your Images from Adorning Other Sites</a>" tutorial on
   449    ServerWatch.</p>
   450      
   451    </div></div>
   452  <div class="bottomlang">
   453  <p><span>Available Languages: </span><a href="./en/env.html" title="English">&nbsp;en&nbsp;</a> |
   454  <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
   455  <a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
   456  <a href="./tr/env.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
   457  </div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
   458  <script type="text/javascript"><!--//--><![CDATA[//><!--
   459  var comments_shortname = 'httpd';
   460  var comments_identifier = 'http://httpd.apache.org/docs/2.2/env.html';
   461  (function(w, d) {
   462      if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
   463          d.write('<div id="comments_thread"><\/div>');
   464          var s = d.createElement('script');
   465          s.type = 'text/javascript';
   466          s.async = true;
   467          s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
   468          (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
   469      }
   470      else { 
   471          d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
   472      }
   473  })(window, document);
   474  //--><!]]></script></div><div id="footer">
   475  <p class="apache">Copyright 2017 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
   476  <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
   477  if (typeof(prettyPrint) !== 'undefined') {
   478      prettyPrint();
   479  }
   480  //--><!]]></script>
   481  </body></html>