]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Merge r1021468 from https://svn.apache.org/repos/asf/httpd/httpd/trunk/:
authorEric Covener <covener@apache.org>
Mon, 11 Oct 2010 19:15:01 +0000 (19:15 +0000)
committerEric Covener <covener@apache.org>
Mon, 11 Oct 2010 19:15:01 +0000 (19:15 +0000)
Caution against using non-regex ProxyPass inside of a <LocationMatch> container.
PR#50048

Submitted By: Luke Meyer
Reviewed By: Eric Covener

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@1021471 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/mod/mod_proxy.html.en
docs/manual/mod/mod_proxy.xml

index 62a91c6a74b0da7fb43928760f4a0ce3c4e1d980..62434285fe32943211b06566fe9d3d1e17774c31 100644 (file)
@@ -1179,7 +1179,10 @@ through</td></tr>
     for complex rules.</p>
 
     <p>When used inside a <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> section, the first argument is omitted and the local
-    directory is obtained from the <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>.</p>
+    directory is obtained from the <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>. The same will occur inside a
+    <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> section,
+    however ProxyPass does not interpret the regexp as such, so it is necessary
+    to use <code class="directive">ProxyPassMatch</code> in this situation instead.</p>
 
     <p>If you require a more flexible reverse-proxy configuration, see the
     <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directive with the
@@ -1259,6 +1262,13 @@ through</td></tr>
     <p>The <code>!</code> directive is useful in situations where you don't want
     to reverse-proxy a subdirectory.</p>
 
+    <p>When used inside a <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> section, the first argument is omitted and the
+    regexp is obtained from the <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>.</p>
+
+    <p>If you require a more flexible reverse-proxy configuration, see the
+    <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> directive with the
+    <code>[P]</code> flag.</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="ProxyPassReverse" id="ProxyPassReverse">ProxyPassReverse</a> <a name="proxypassreverse" id="proxypassreverse">Directive</a></h2>
@@ -1323,7 +1333,10 @@ proxied server</td></tr>
     </p>
 
     <p>When used inside a <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> section, the first argument is omitted and the local
-    directory is obtained from the <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>.</p>
+    directory is obtained from the <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>. The same occurs inside a <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> section, but will probably not work as
+    intended, as ProxyPassReverse will interpret the regexp literally as a
+    path; if needed in this situation, specify the ProxyPassReverse outside
+    the section, or in a separate <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> section.</p>
 
 </div>
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
index 815e18ae34c8e462e633c2c823d53ff0ad4e5a2a..18e95c35c36e75b280bb9b4bba48a1e0fd6e7b65 100644 (file)
@@ -1036,7 +1036,10 @@ expressions</description>
     <p>When used inside a <directive type="section" module="core"
     >Location</directive> section, the first argument is omitted and the local
     directory is obtained from the <directive type="section" module="core"
-    >Location</directive>.</p>
+    >Location</directive>. The same will occur inside a
+    <directive type="section" module="core">LocationMatch</directive> section,
+    however ProxyPass does not interpret the regexp as such, so it is necessary
+    to use <directive>ProxyPassMatch</directive> in this situation instead.</p>
 
     <p>If you require a more flexible reverse-proxy configuration, see the
     <directive module="mod_rewrite">RewriteRule</directive> directive with the
@@ -1088,6 +1091,15 @@ expressions</description>
 
     <p>The <code>!</code> directive is useful in situations where you don't want
     to reverse-proxy a subdirectory.</p>
+
+    <p>When used inside a <directive type="section" module="core"
+    >LocationMatch</directive> section, the first argument is omitted and the
+    regexp is obtained from the <directive type="section" module="core"
+    >LocationMatch</directive>.</p>
+
+    <p>If you require a more flexible reverse-proxy configuration, see the
+    <directive module="mod_rewrite">RewriteRule</directive> directive with the
+    <code>[P]</code> flag.</p>
 </usage>
 </directivesynopsis>
 
@@ -1159,7 +1171,12 @@ proxied server</description>
     <p>When used inside a <directive type="section" module="core"
     >Location</directive> section, the first argument is omitted and the local
     directory is obtained from the <directive type="section" module="core"
-    >Location</directive>.</p>
+    >Location</directive>. The same occurs inside a <directive type="section"
+    module="core">LocationMatch</directive> section, but will probably not work as
+    intended, as ProxyPassReverse will interpret the regexp literally as a
+    path; if needed in this situation, specify the ProxyPassReverse outside
+    the section, or in a separate <directive type="section" module="core"
+    >Location</directive> section.</p>
 </usage>
 </directivesynopsis>