Ошибка 403 из 403 ErrorDocument

У меня есть следующий сценарий конфигурации в моей установке Apache 2.4.7:

<Directory "/www"> Options Indexes FollowSymLinks AllowOverride All <RequireAll> Require all granted Require not ip ip.range.A ip.range.B </RequireAll> RewriteEngine On RewriteRule ^faq/(\w+)/(\d+)/?$ faq.php?code=$1&num=$2 [NC] ErrorDocument 403 /www/faq.php?code=web&num=403 </Directory> 

И я получаю эту ошибку, когда пытаюсь просмотреть страницу с использованием одного из заблокированных IP-адресов:

Кроме того, при попытке использовать ErrorDocument для обработки requestа была обнаружена ошибка 403 Forbidden.

Поскольку я хочу обслуживать два типа 403 для inputящих клиентов; Я должен перенаправить пользователей, ограниченных rangeами A и B IP, чтобы faq/WEB/403/ страницу.

Есть ли способ заблокировать доступ для пользователей с этими IP-адресами и показать им свою страницу ErrorDocument ?

Я попытался использовать следующее вместо тега requireAll (как определено в директиве RewriteCond ):

 RewriteCond %{REMOTE_HOST} ^ip.range.A [OR] RewriteCond %{REMOTE_HOST} ^ip.range.B RewriteRule /faq/WEB/403/ [L,R] 

но безрезультатно. В последнем случае пользователи могли свободно обращаться к страницам.

Текущий file конфигурации выглядит следующим образом (и ни один user не блокирует доступ к веб-страницам):

 <Directory "/www"> Options Indexes FollowSymLinks AllowOverride All RewriteEngine On RewriteRule ^faq/(\w+)/(\d+)/?$ faq.php?code=$1&num=$2 [NC] RewriteCond %{REMOTE_HOST} ^ip.range.A [OR] RewriteCond %{REMOTE_HOST} ^ip.range.B RewriteRule /faq/WEB/403/ [L,R] </Directory> 

Для этой ошибки:

Кроме того, при попытке использовать ErrorDocument для обработки requestа была обнаружена ошибка 403 Forbidden.

Вы защищаете directory / www. Поскольку file 403 также находится в этом directoryе, он не используется, так как доступ к этому контенту запрещен для пользователя. Вы должны поместить свою страницу 403 в ее собственный directory, который не принадлежит / www.

При наличии двух разделяющих страниц в зависимости от исходного IP-адреса, я не уверен, что вы можете сделать это только с помощью конфигурации apache. ErrorDocument – это «специальные» команды, которые прерывают нормальный stream apache. Лучшим способом было бы сделать это на PHP или на любом serverе.

  • Не удалось заставить mod_rewrite прекратить обработку
  • Перенаправление на Apache (поддержка параметров POST)
  • Сделать Apache для прослушивания в нескольких IP-адресах
  • Проблема с паролем и паролем Apache2
  • Как вkeyить SSI для всех html-fileов?
  • Direct admin - настраиваемые parameters httpd
  • Установка distcache на CentOS 6.3
  • Получите Apache2.2, чтобы скрыть документы Microsoft, которые редактируются?
  • Перезапуск службы httpd в RHEL возвращает «Stopping httpd: [FAILED]» - Как это исправить?
  • Блокировка по строке user-agent в httpd.conf недействительна
  • htaccess httpd.conf Proxy Auth - Запрос превысил предел 10 внутренних переадресаций
  • Interesting Posts

    Можно ли указать IP-адрес на имя домена?

    Белый list или отkeyить ограничение скорости IP-адресов CloudFlare для AWS EC2

    Поезд spamassassin с POP3 или скопированные письма

    Debian: Как проверить последний раз обновления / обновления пакетов?

    Управление службами Reporting Services

    VirtualBox «Мостовой адаптер», когда хост-сетевой адаптер выkeyен

    Удаление objectа политики objectа групповой политики «Нежелание» для обработки requestа

    Ошибка при установке GlusterFS

    Squid не разрешает определенный URL-адрес

    Не удается get доступ к URL-адресу http://mywebsite.com/myproject/, код возврата 22: смертельный: git-http-push не удалось

    Возможно ли иметь 2 журнала ошибок для VirtualHost в Apache?

    Есть ли хорошее резюме где-то, что должно идти в каждой из основных папок в Linux-установке?

    2,5-дюймовые диски против 3,5-дюймовых дисков

    Настройка разрешения папки на удаленном serverе Windows 2008 R2 в PowerShell или командной строке

    клиент перелистывает внутренние и внешние IP-адреса?

    Давайте будем гением компьютера.