From: Rich Bowen Date: Sun, 17 May 2026 22:24:50 +0000 (+0000) Subject: Sorry, that was confusing. R=4xx does *not* serve a redirect, and the X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a535c12c4fed06e39c7b527d192efab15e777239;p=thirdparty%2Fapache%2Fhttpd.git Sorry, that was confusing. R=4xx does *not* serve a redirect, and the way I wrote that it sounded like the exact opposite. This attempts to clarify. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1934324 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/rewrite/flags.xml b/docs/manual/rewrite/flags.xml index e5c155004d..b4c0cecc35 100644 --- a/docs/manual/rewrite/flags.xml +++ b/docs/manual/rewrite/flags.xml @@ -898,17 +898,17 @@ URI in request' warnings. spec. Using an unrecognized status code will result in a 500 error and error log message.

-[R=4xx] is still a redirect +[R=4xx] does not serve the substitution

When a status code outside the 300-399 range is specified (e.g., -[R=403] or [R=410]), the substitution string -is dropped and httpd sends a bare error response — it does not -serve any content from the substitution URL, nor does it invoke your -ErrorDocument pages. -If you want to deny access while also serving a custom error page, -use the [F] or [G] flags -instead, or combine a -[R=4xx] rule with an -ErrorDocument directive.

+[R=403] or [R=410]), the +substitution string is ignored. The URL you wrote as the +target is not served to the client. Instead, httpd returns the +specified status code and handles it through the normal error +response path (including any configured +ErrorDocument). +If you want to deny access, the [F] and +[G] flags are clearer ways to express the +same intent.