I've had this problem for a while. I've tried everything I can find to no avail.

I've got the file system (linux, cPanel) set up using root htaccess directives for sub domains. Everything works accept "blocked"

Code:
<Files *> 
Order allow,deny
deny from env=blocked
allow from all
</Files>
With main domain 403 it works as expected. Sub domains, all built on WP, I get the following.

Code:
<!DOCTYPE·HTML·PUBLIC·"-//IETF//DTD·HTML·2.0//EN">(LF)
<html><head>(LF)
<title>403·Forbidden</title>(LF)
</head><body>(LF)
<h1>Forbidden</h1>(LF)
<p>You·don't·have·permission·to·access·/(LF)
on·this·server.</p>(LF)
<p>Additionally,·a·403·Forbidden(LF)
error·was·encountered·while·trying·to·use·an·ErrorDocument·to·handle·the·request.</p>(LF)
</body></html>(LF)
It seems it's trying (Additionally...) to use a custom error document, which is what I'd prefer, but being denied, since it's a page. The first part of the response is the server's standard 403 response.

I don't want to use the "ErrorDocument 403 /403.shtml" since that's results in a redirect. Right now I have no ErrorDocument code in root but 403.shtml in root gets served. I put a 403.shtml file in subdomain but you see the result is the same.

I'm lacking knowledge somewhere in this. So I need to ask for the fix. Thanks