why apache returns error message in body while returning 200 status code

I've configured Apache to return 200 on all requests that made with OPTIONS verb:

RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]

The Apache indeed returns status 200 OK, yet the body contains an error message:

HTTP/1.1 200 OK
Date: Sun, 22 Mar 2015 16:38:10 GMT
Server: Apache/2.4.10 (Win64) PHP/5.6.3
Content-Length: 492
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>200 OK</title>
</head><body>
<h1>OK</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator at 
 [email protected] to inform them of the time this error occurred,
 and the actions you performed just before this error.</p>
<p>More information about this error may be available
in the server error log.</p>
</body></html>

Why so? Is configuration not correct?


Solution 1:

@Maximus, you must use "204-No Content" as response code.

Details here: https://stackoverflow.com/a/32146203/2397394