From dce0f4bc54557f8f427dcd899d032563121d5722 Mon Sep 17 00:00:00 2001 From: Eric Covener Date: Sat, 11 Mar 2023 22:40:11 +0000 Subject: [PATCH] move B=xx example to the bottom show example with quoted flags and a space git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1908302 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/rewrite/flags.xml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/docs/manual/rewrite/flags.xml b/docs/manual/rewrite/flags.xml index 3e2012153fa..7884d01e36d 100644 --- a/docs/manual/rewrite/flags.xml +++ b/docs/manual/rewrite/flags.xml @@ -70,10 +70,6 @@ of how you might use them.

The [B] flag instructs RewriteRule to escape non-alphanumeric characters before applying the transformation.

-

In 2.4.26 and later, you can limit the escaping to specific characters -in backreferences by listing them: [B=#?;]. Note: The space -character can be used in the list of characters to escape, but it cannot be -the last character in the list.

mod_rewrite has to unescape URLs before mapping them, so backreferences are unescaped at the time they are applied. @@ -109,6 +105,19 @@ when the backend may break if presented with an unescaped URL.

An alternative to this flag is using a RewriteCond to capture against %{THE_REQUEST} which will capture strings in the encoded form.

+ +

In 2.4.26 and later, you can limit the escaping to specific characters +in backreferences by listing them: [B=#?;]. Note: The space +character can be used in the list of characters to escape, but you must quote +the entire third argument of RewriteRule +and the space must not be the last character in the list.

+ + +# Escape spaces and question marks. +RewriteRule "^search/(.*)$" "/search.php?term=$1" "[B= ?]" + + +
BNP|backrefnoplus (don't escape space to +) -- 2.47.3