У меня в корневом каталоге /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
Я создал каталог ошибок, /home/www/errors
который содержит следующие файлы:
403.htm
500.htm
.htaccess
В каталоге ошибок .htaccess
Я установил правила:
order deny,allow
allow from all
Если я помещу свой IP в корневой файл .htaccess, я не смогу просматривать сайт. Я получаю сообщение об ошибке:
Запрещено - у вас нет разрешения на доступ к этому серверу.
Кроме того, при попытке использовать ErrorDocument для обработки запроса возникла ошибка 403 Forbidden.
Однако, если я перейду к /errors/500.htm, я увижу эту страницу в своем браузере, поэтому я знаю подкаталог .htaccess
похоже, позволяет загружать эти файлы.
Что я делаю не так? Как я могу отклонить запрос с определенного IP-адреса, но по-прежнему отображать настраиваемую страницу ошибки с Apache2?
Было бы намного проще просто перенаправить людей, переходящих с заблокированных IP-адресов, на страницу с ошибкой:
RewriteCond %{REMOTE_ADDR} 1.2.3.4
RewriteRule .* /CustomError.html [R=403]