Htaccess IP blocking with custom 403 Error not working

.htaccessapache-2.2

I'm trying to block everyone but 1 IP address from my site on a server running apache & centos. My setup is follows the example below.

My server:

`http://www.myserver.com/`

My .htaccess file

<limit GET> 
order deny,allow  
deny from all  
allow from 176.219.192.141
</limit>

ErrorDocument 403 http://www.google.com
ErrorDocument 404 http://www.google.com

When I visit http://www.myserver.com/ from an invalid IP, it gives me a generic 403 error. When I visit http://www.myserver.com/page-does-not-exist/ it redirects me correctly to http://www.google.com but I can't figure out why the 403 error doesn't redirect me too. Anyone have any ideas?

Best Answer

In some conditions, Apache doesn't like full URLs in ErrorDocument

Try redirecting to a local page that will redirect to google, and allow access to that page explicitly with:

ErrorDocument 403 google.html

<Files google.html>
 Order Allow, Deny
 Allow from all
</Files>
Related Topic