From: Eric Covener
Date: Thu, 3 Jun 2021 12:28:47 +0000 (+0000)
Subject: Merge r1890424 from trunk:
X-Git-Tag: candidate-2.4.49~3^2~101
X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e4bbe0e31a521eef92a1fe5f771ca79491334c48;p=thirdparty%2Fapache%2Fhttpd.git
Merge r1890424 from trunk:
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
---
diff --git a/docs/manual/mod/core.xml b/docs/manual/mod/core.xml
index 88ef3cc44e2..a3b580607df 100644
--- a/docs/manual/mod/core.xml
+++ b/docs/manual/mod/core.xml
@@ -3141,11 +3141,13 @@ URLs
URL it appears. People may be used to its behavior in the filesystem
where multiple adjacent slashes are frequently collapsed to a single
slash (i.e., /home///foo
is the same as
- /home/foo
). In URL-space this is not necessarily true.
+ /home/foo
). In URL-space this is not necessarily true if
+ directive MergeSlashes has been set
+ to "OFF".
The LocationMatch
directive and the regex version of Location require you to explicitly specify multiple
- slashes if that is your intention.
+ slashes if the slashes are not being merged.
For example, <LocationMatch "^/abc">
would match
the request URL /abc
but not the request URL
@@ -3212,16 +3214,18 @@ matching URLs
</LocationMatch>
- Note about / (slash)
+ Note about / (slash)
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 (i.e., /home///foo
is the same as
- /home/foo
). In URL-space this is not necessarily true.
+ /home/foo
). In URL-space this is not necessarily true if
+ directive MergeSlashes has been set
+ to "OFF".
The LocationMatch
directive and the regex version of Location require you to explicitly specify multiple
- slashes if that is your intention.
+ slashes if the slashes are not being merged.
For example, <LocationMatch "^/abc">
would match
the request URL /abc
but not the request URL
@@ -5260,11 +5264,13 @@ recognized methods to modules.
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 MergeSlashes can be set to
- OFF to retain the multiple consecutive slashes. In these
- configurations, regular expressions used in the configuration file that match
+ OFF to retain the multiple consecutive slashes, which is the legacy behavior.
+
+ When set to "OFF", regular expressions used in the configuration file that match
the path component of the URL (LocationMatch,
RewriteRule, ...) need to take into account multiple
- consecutive slashes.
+ consecutive slashes. Non regular expression based Location always
+ operate against a URL with merged slashes and cannot differentiate between multiple slashes.