]> granicus.if.org Git - apache/blobdiff - docs/manual/mod/mod_proxy_fcgi.html.en
Documentation rebuild
[apache] / docs / manual / mod / mod_proxy_fcgi.html.en
index 5ecfe5562301428405fa6c9d893cfbaadb356367..3d99f31005e0147833759a212332cbbdbbd83447 100644 (file)
@@ -26,7 +26,8 @@
 <div id="page-content">
 <div id="preamble"><h1>Apache Module mod_proxy_fcgi</h1>
 <div class="toplang">
-<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_fcgi.html" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_fcgi.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_proxy_fcgi.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
 </div>
 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>FastCGI support module for
 <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td></tr>
@@ -64,6 +65,7 @@
 </ul><h3 class="directives">Directives</h3>
 <ul id="toc">
 <li><img alt="" src="../images/down.gif" /> <a href="#proxyfcgibackendtype">ProxyFCGIBackendType</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#proxyfcgisetenvif">ProxyFCGISetEnvIf</a></li>
 </ul>
 <h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_proxy_fcgi">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_proxy_fcgi">Report a bug</a></li></ul><h3>See also</h3>
 <ul class="seealso">
@@ -215,10 +217,70 @@ PHP-FPM would strip the prefix then remember it was talking to Apache.  In
 breaking the ability of PHP-FPM to detect and interoperate with Apache in some
 scenarios.</p> 
 
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyFCGISetEnvIf" id="ProxyFCGISetEnvIf">ProxyFCGISetEnvIf</a> <a name="proxyfcgisetenvif" id="proxyfcgisetenvif">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Allow variables sent to FastCGI servers to be fixed up</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyFCGISetEnvIf <var>conditional-expression</var>
+    <var>environment-variable-name</var>
+    <var>value-expression</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy_fcgi</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.5 and later</td></tr>
+</table>
+<p>Just before passing a request to the configured FastCGI server, the core of
+the web server sets a number of environment variables based on details of the
+current request. FastCGI programs often uses these environment variables
+as inputs that determine what underlying scripts they will process, or what
+output they directly produce.</p>
+<p>Examples of noteworthy environment variables are:</p>
+<ul>
+  <li>SCRIPT_NAME</li>
+  <li>SCRIPT_FILENAME</li>
+  <li>REQUEST_URI</li>
+  <li>PATH_INFO</li>
+  <li>PATH_TRANSLATED</li>
+</ul>
+
+<p>This directive allows the environment variables above, or any others of 
+interest, to be overridden.  This directive is evaluated after the initial
+values for these variables are set, so they can be used as input into both
+the condition expressions and value expressions.</p>
+<p>Parameter syntax:</p>
+<dl>
+<dt>conditional-expression</dt> 
+<dd>Specifies an expression that controls whether the environmen variable that
+   follows will be modified.  For information on the expression syntax, see 
+   the examples that follow or the full specification at the 
+   <a href="../expr.html">ap_expr</a> documentation.
+   </dd>
+<dt>environment-variable-name</dt> 
+<dd> Specifies the CGI environment variable to change,
+   such as PATH_INFO.</dd>
+<dt>value-expression</dt>
+<dd>Specifies the replacement value for the preceding environment variable.  Backreferences, such as "$1",
+can be included from regular expression captures in <var>conditional-expression</var></dd>
+</dl>
+  
+<div class="example"><p><code>
+# A basic, unconditional override<br />
+ProxyFCGISetEnvIf "true" PATH_INFO "/example"<br />
+<br />
+# Use an environment variable in the value<br />
+ProxyFCGISetEnvIf "true" PATH_INFO "%{reqenv:SCRIPT_NAME}"<br />
+<br />
+# Use captures in the conditions and backreferences in the replacement<br />
+ProxyFCGISetEnvIf "reqenv('PATH_TRANSLATED') =~ m#(/.*prefix)(\d+)(.*)#" PATH_TRANSLATED "$1$3"<br />
+</code></p></div>
+
+
 </div>
 </div>
 <div class="bottomlang">
-<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_fcgi.html" title="English">&nbsp;en&nbsp;</a></p>
+<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_fcgi.html" title="English">&nbsp;en&nbsp;</a> |
+<a href="../fr/mod/mod_proxy_fcgi.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
 </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>
 <script type="text/javascript"><!--//--><![CDATA[//><!--
 var comments_shortname = 'httpd';