<!-- $LastChangedRevision$ -->
<!--
- Copyright 2002-2005 The Apache Software Foundation or its licensors, as
- applicable.
-
- 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
<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>
<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>
<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>
<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>
-