Директива Apache 2.0 ErrorDocument не работает при получении самого корневого каталога

Директива Apache 2.0 ErrorDocument не работает при получении самого корневого каталога

Я отвечаю за сайт, использующий Apache 2.0 на Red Hat 4.1.2.

Я настроил сайт на отображение пользовательской страницы ошибок, добавив эту строку в файл .htaccess в корневом каталоге сайта:

ErrorDocument 403 /403.html

Для тестирования я заблокировал свой собственный IP-адрес в приложении сайта; в результате в файле .htaccess появилось что-то вроде этого (я отредактировал список для краткости и изменил IP-адреса):

SetEnvIfNoCase REMOTE_ADDR "^(0\.0\.0\.1|0\.0\.0\.2|0\.0\.0\.3).*" BadIP
deny from env=BadIP

Когда я пытаюсь зайти на сайт с «плохого» IP-адреса, я получаю пользовательскую страницу с ошибкой, если я пытаюсь получить доступ к определенной странице (например,http://example.com/index.html).

Однако, если я попытаюсь получить только корневой каталог (например,http://example.com), то вместо этого я получаю тестовую страницу Apache.

Есть ли способ заставить корневой каталог сайта работать с пользовательской страницей ошибок?

EDIT: Думаю, я мог вызвать некоторую путаницу. Чтобы прояснить:

  • когда я пытаюсь получить корневой URL, корневая страницанетобслужен; я получаю страницу с сообщением: «Если вы можете прочитать эту страницу, это значит, что HTTP-сервер Apache, установленный на этом сайте, работает правильно». Итак, я заблокирован, как и ожидалось, но я просто не получаю страницу с ошибкой 403.
  • когда я пытаюсь получить что-либо ниже корня, я получаю свою собственную страницу 403.html

ОБНОВЛЯТЬ:

Я пробовал это на более поздней версии Apache (2.2.25). Я также пробовал этобездиректива ErrorDocument или SetEnv. Файл .htaccess содержиттолькоэти 3 строки:

order allow,deny
allow from all
deny from 0.0.0.0

где 0.0.0.0 заменяется на мой реальный IP-адрес.

Результат тот же: при получении example.com я получаю тестовую страницу Apache «Если вы можете это прочитать», а при получении example.com/x я получаю встроенную страницу «Запрещено ... у вас нет прав доступа к /x на этом сервере».

Связанный контент