Bug 61975

Summary: Error page reports an ErrorDocument problem when a RewriteRule has set the status code
Product: Apache httpd-2 Reporter: Michael Kaufmann <apache-bugzilla>
Component: CoreAssignee: Apache HTTPD Bugs Mailing List <bugs>
Status: NEW ---    
Severity: normal    
Priority: P2    
Version: 2.4.27   
Target Milestone: ---   
Hardware: PC   
OS: Linux   

Description Michael Kaufmann 2018-01-08 16:59:10 UTC
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>