When a RewriteRule has set the status code, the generated error page may contain the phrase "Additionally, a 301 Moved Permanently error was encountered while trying to use an ErrorDocument to handle the request." But there is no ErrorDocument problem. A RewriteRule has changed the status code to 301. Configuration: # redirect HTTP to HTTPS RewriteRule ^/(.*)$ https://www.example.com/$1 [R=301,L] Request (it has two Content-Length headers, so httpd generates an error page): curl -v --data "a=b" -H "Content-Length: 1" -H "Content-Length: 10" "http://www.example.com/" Response: < HTTP/1.1 400 Bad Request < Date: Mon, 08 Jan 2018 16:38:52 GMT < Server: Apache < Connection: close < Content-Type: text/html; charset=iso-8859-1 < <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>400 Bad Request</title> </head><body> <h1>Bad Request</h1> <p>Your browser sent a request that this server could not understand.<br /> </p> <p>Additionally, a 301 Moved Permanently error was encountered while trying to use an ErrorDocument to handle the request.</p> </body></html>
I have the same behaviour in another case, with mod_security2. Example: # Used to hide server response body (more complex rule in real) SecRule RESPONSE_STATUS 400 "phase:3,status:400" ErrorDocument 400 /my_error_page.html Output: Bad Request Your browser sent a request that this server could not understand. Additionally, a 400 Bad Request error was encountered while trying to use an ErrorDocument to handle the request. This is really a major ennoyance. I don't see any work-around.
(In reply to Marc Stern from comment #1) My example is for a reverse proxy where the server sends a 400 status