我怎么能从一个特定的IP地址拒绝,但仍然显示与Apache2自定义错误页面?

我有我的网站根/home/www/我有一个.htaccess文件禁止IP地址:

 order allow,deny deny from 1.2.3.4 deny from 2.3.4.5 allow from all ErrorDocument 500 /errors/500.htm ErrorDocument 403 /errors/403.htm 

我也试过这样的错误陈述:

 ErrorDocument 500 /home/www/errors/500.htm ErrorDocument 403 /home/www/errors/403.htm 

我创build了一个错误目录/home/www/errors ,其中包含以下文件:

 403.htm 500.htm .htaccess 

在错误目录中.htaccess我已经设置了规则:

 order deny,allow allow from all 

如果我把我的IP在根.htaccess文件中,我无法浏览该网站。 我收到一个错误:

禁止 – 您无权访问/在此服务器上。

此外,尝试使用ErrorDocument处理请求时遇到403禁止错误。

但是,如果我浏览到/errors/500.htm,我可以在浏览器中看到该页面,所以我知道子目录.htaccess似乎允许加载这些文件。

我究竟做错了什么? 我怎么能从一个特定的IP地址拒绝,但仍然显示与Apache2自定义错误页面?

将来自被阻止的IP的用户redirect到一个错误页面会容易得多:

 RewriteCond %{REMOTE_ADDR} 1.2.3.4 RewriteRule .* /CustomError.html [R=403]