]> granicus.if.org Git - apache/blobdiff - docs/manual/mod/mod_env.xml
Rebuild.
[apache] / docs / manual / mod / mod_env.xml
index 25e60297ae257f07d48987bf162ac51c7329fa6c..5116b39f41935a4efe95bbdbe4b1a3b30237b2d8 100644 (file)
@@ -4,11 +4,12 @@
 <!-- $LastChangedRevision$ -->
 
 <!--
- Copyright 2002-2004 The Apache Software Foundation
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
 
      http://www.apache.org/licenses/LICENSE-2.0
 
@@ -28,13 +29,15 @@ SSI pages</description>
 <sourcefile>mod_env.c</sourcefile>
 <identifier>env_module</identifier>
 <summary>
-    <p>This module allows for control of the environment that will
-    be provided to CGI scripts and SSI pages. Environment variables
-    may be passed from the shell which invoked the <program>httpd</program>
-    process. Alternatively, environment variables may be set or unset within
-    the configuration process.</p>
+    <p>This module allows for control of internal environment variables that
+    are used by various Apache HTTP Server modules. These variables are also
+    provided to CGI scripts as native system environment variables, and available
+    for use in SSI pages. Environment variables may be passed from the shell
+    which invoked the <program>httpd</program> process. Alternatively,
+    environment variables may be set or unset within the configuration process.</p>
 </summary>
 <seealso><a href="../env.html">Environment Variables</a></seealso>
+<seealso><directive module="mod_setenvif">SetEnvIf</directive></seealso>
 
 <directivesynopsis>
 <name>PassEnv</name>
@@ -46,12 +49,16 @@ SSI pages</description>
 <override>FileInfo</override>
 
 <usage>
-    <p>Specifies one or more environment variables to pass to CGI
-    scripts and SSI pages from the environment of the shell which
-    invoked the <program>httpd</program> process.</p>
+    <p>Specifies one or more native system environment variables to make available
+    as internal environment variables, which are available to Apache HTTP Server modules
+    as well as propagated to CGI scripts and SSI pages. Values come from the
+    native OS environment of the shell which invoked the
+    <program>httpd</program> process.</p>
 
     <example><title>Example</title>
+    <highlight language="config">
       PassEnv LD_LIBRARY_PATH
+      </highlight>
     </example>
 </usage>
 </directivesynopsis>
@@ -59,19 +66,35 @@ SSI pages</description>
 <directivesynopsis>
 <name>SetEnv</name>
 <description>Sets environment variables</description>
-<syntax>SetEnv <var>env-variable</var> <var>value</var></syntax>
+<syntax>SetEnv <var>env-variable</var> [<var>value</var>]</syntax>
 <contextlist><context>server config</context><context>virtual host</context>
 <context>directory</context><context>.htaccess</context></contextlist>
 <override>FileInfo</override>
 
 <usage>
-    <p>Sets an environment variable, which is then passed on to CGI
-    scripts and SSI pages.</p>
+    <p>Sets an internal environment variable, which is then available to Apache
+    HTTP Server modules, and passed on to CGI scripts and SSI pages.</p>
 
     <example><title>Example</title>
+    <highlight language="config">
       SetEnv SPECIAL_PATH /foo/bin
+      </highlight>
     </example>
+
+    <p> If you omit the <var>value</var> argument, the variable is set to
+    an empty string.</p>
+
+    <note><p>The internal environment variables set by this directive are set
+    <em>after</em> most early request processing directives are run, such as access
+    control and URI-to-filename mapping.  If the environment variable you're
+    setting is meant as input into this early phase of processing such as the
+    <directive module="mod_rewrite">RewriteRule</directive> directive, you should
+    instead set the environment variable with
+    <directive module="mod_setenvif">SetEnvIf</directive>.</p>
+    </note>
+
 </usage>
+<seealso><a href="../env.html">Environment Variables</a></seealso>
 </directivesynopsis>
 
 <directivesynopsis>
@@ -84,14 +107,15 @@ SSI pages</description>
 <override>FileInfo</override>
 
 <usage>
-    <p>Removes one or more environment variables from those passed
+    <p>Removes one or more internal environment variables from those passed
     on to CGI scripts and SSI pages.</p>
 
     <example><title>Example</title>
+    <highlight language="config">
       UnsetEnv LD_LIBRARY_PATH
+      </highlight>
     </example>
 </usage>
 </directivesynopsis>
 
 </modulesynopsis>
-