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.