
Sou responsável por um site usando Apache 2.0 no Red Hat 4.1.2.
Configurei o site para exibir uma página de erro personalizada adicionando esta linha ao arquivo .htaccess no diretório raiz do site:
ErrorDocument 403 /403.html
Para teste, bloqueei meu próprio endereço IP no aplicativo do site; isso resulta em algo assim no arquivo .htaccess (editei a lista por questões de brevidade e alterei os IPs):
SetEnvIfNoCase REMOTE_ADDR "^(0\.0\.0\.1|0\.0\.0\.2|0\.0\.0\.3).*" BadIP
deny from env=BadIP
Quando tento acessar o site a partir de um IP "ruim", recebo a página de erro personalizada se tento acessar uma página específica (por exemplo,http://example.com/index.html).
No entanto, se eu tentar obter apenas o diretório raiz (por exemplohttp://exemplo.com), então recebo a página de teste do Apache.
Existe alguma maneira de fazer com que o diretório raiz do site funcione com a página de erro personalizada?
EDIT: Acho que posso ter causado alguma confusão. Esclarecer:
- quando tento obter o URL raiz, a página raiz énãoservido; o que recebo é a página que diz: "Se você pode ler esta página, isso significa que o servidor Apache HTTP instalado neste site está funcionando corretamente." Estou bloqueado conforme esperado, mas não estou recebendo a página de erro 403.
- quando tento obter algo abaixo da raiz, recebo minha página 403.html personalizada
ATUALIZAR:
Eu tentei isso em uma versão mais recente do Apache (2.2.25). Eu também tenteisema diretiva ErrorDocument ou coisas SetEnv. O arquivo .htaccess contémapenasestas 3 linhas:
order allow,deny
allow from all
deny from 0.0.0.0
onde 0.0.0.0 é substituído pelo meu endereço IP real.
O resultado é o mesmo: ao obter example.com, recebo a página de teste "Se você pode ler isto" do Apache e, ao obter example.com/x, recebo o integrado "Proibido ... você não tem permissão para acessar a página /x neste servidor".