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.