Я отвечаю за сайт, использующий 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.
Есть ли способ получить корневой каталог сайта для работы с настраиваемой страницей ошибок?
РЕДАКТИРОВАТЬ: Я думаю, что, возможно, вызвал некоторую путаницу. Чтобы уточнить:
ОБНОВИТЬ:
Я пробовал это на более поздней версии 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 на этом сервере ».