]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Merge r1890424 from trunk:
authorEric Covener <covener@apache.org>
Thu, 3 Jun 2021 12:28:47 +0000 (12:28 +0000)
committerEric Covener <covener@apache.org>
Thu, 3 Jun 2021 12:28:47 +0000 (12:28 +0000)
PR65073: updates to MergeSlashes related doc

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

docs/manual/mod/core.xml

index 88ef3cc44e2f72a78626267d513b32eb51a1fa45..a3b580607df155285819f0fd0117296a5025549e 100644 (file)
@@ -3141,11 +3141,13 @@ URLs</description>
       URL it appears. People may be used to its behavior in the filesystem
       where multiple adjacent slashes are frequently collapsed to a single
       slash (<em>i.e.</em>, <code>/home///foo</code> is the same as
-      <code>/home/foo</code>). In URL-space this is not necessarily true.
+      <code>/home/foo</code>). In URL-space this is not necessarily true if
+      directive <directive module="core">MergeSlashes</directive>  has been set
+      to "OFF".
       The <directive type="section" module="core">LocationMatch</directive>
       directive and the regex version of <directive type="section"
       >Location</directive> require you to explicitly specify multiple
-      slashes if that is your intention.</p>
+      slashes if the slashes are not being merged.</p>
 
       <p>For example, <code>&lt;LocationMatch "^/abc"&gt;</code> would match
       the request URL <code>/abc</code> but not the request URL <code>
@@ -3212,16 +3214,18 @@ matching URLs</description>
 &lt;/LocationMatch&gt;
     </highlight>
 
-    <note><title>Note about / (slash)</title>
+     <note><title>Note about / (slash)</title>
       <p>The slash character has special meaning depending on where in a
       URL it appears. People may be used to its behavior in the filesystem
       where multiple adjacent slashes are frequently collapsed to a single
       slash (<em>i.e.</em>, <code>/home///foo</code> is the same as
-      <code>/home/foo</code>). In URL-space this is not necessarily true.
+      <code>/home/foo</code>). In URL-space this is not necessarily true if
+      directive <directive module="core">MergeSlashes</directive>  has been set
+      to "OFF".
       The <directive type="section" module="core">LocationMatch</directive>
       directive and the regex version of <directive type="section"
       >Location</directive> require you to explicitly specify multiple
-      slashes if that is your intention.</p>
+      slashes if the slashes are not being merged.</p>
 
       <p>For example, <code>&lt;LocationMatch "^/abc"&gt;</code> would match
       the request URL <code>/abc</code> but not the request URL <code>
@@ -5260,11 +5264,13 @@ recognized methods to modules.</p>
     significant.  However, URL's handled other ways, such as by CGI or proxy,
     might prefer to retain the significance of multiple consecutive slashes. 
     In these cases <directive>MergeSlashes</directive> can be set to 
-    <em>OFF</em> to retain the multiple consecutive slashes.  In these
-    configurations, regular expressions used in the configuration file that match
+    <em>OFF</em> to retain the multiple consecutive slashes, which is the legacy behavior.</p>
+    <p>
+    When set to "OFF", regular expressions used in the configuration file that match
     the path component of the URL (<directive>LocationMatch</directive>,
     <directive>RewriteRule</directive>, ...) need to take into account multiple 
-    consecutive slashes.</p>
+    consecutive slashes. Non regular expression based <directive>Location</directive> always
+    operate against a URL with merged slashes and cannot differentiate between multiple slashes.</p>
 </usage>
 </directivesynopsis>