From: Eric Covener Date: Thu, 3 Jun 2021 12:28:09 +0000 (+0000) Subject: PR65073: updates to MergeSlashes related doc X-Git-Tag: 2.5.0-alpha2-ci-test-only~931 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c6e751c62e183b0d264e8510948ed1a3e8bf0fb0;p=thirdparty%2Fapache%2Fhttpd.git PR65073: updates to MergeSlashes related doc git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1890424 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/mod/core.xml b/docs/manual/mod/core.xml index 881b9b7399d..27986151466 100644 --- a/docs/manual/mod/core.xml +++ b/docs/manual/mod/core.xml @@ -3177,11 +3177,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 @@ -3248,16 +3250,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 @@ -5388,11 +5392,13 @@ as if 'QualifyRedirectURL On' was configured. 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.