
Estoy a cargo de un sitio que utiliza Apache 2.0 en Red Hat 4.1.2.
He configurado el sitio para mostrar una página de error personalizada agregando esta línea al archivo .htaccess en el directorio raíz del sitio:
ErrorDocument 403 /403.html
Para realizar pruebas, bloqueé mi propia dirección IP en la aplicación del sitio; esto da como resultado algo como esto en el archivo .htaccess (he editado la lista para mayor brevedad y modifiqué las IP):
SetEnvIfNoCase REMOTE_ADDR "^(0\.0\.0\.1|0\.0\.0\.2|0\.0\.0\.3).*" BadIP
deny from env=BadIP
Cuando intento acceder al sitio desde una IP "mala", aparece la página de error personalizada si intento obtener una página específica (por ejemplo,http://ejemplo.com/index.html).
Sin embargo, si intento obtener sólo el directorio raíz (por ejemplohttp://ejemplo.com), luego obtengo la página de prueba de Apache.
¿Hay alguna forma de hacer que el directorio raíz del sitio funcione con la página de error personalizada?
EDITAR: Creo que pude haber causado cierta confusión. Para aclarar:
- cuando intento obtener la URL raíz, la página raíz esnoservido; lo que aparece es la página que dice: "Si puede leer esta página, significa que el servidor HTTP Apache instalado en este sitio está funcionando correctamente". Así que estoy bloqueado como se esperaba, pero simplemente no aparece la página de error 403.
- cuando intento obtener algo debajo de la raíz, aparece mi página 403.html personalizada
ACTUALIZAR:
Probé esto en una versión de Apache más reciente (2.2.25). yo también lo he probadosinla directiva ErrorDocument o cosas SetEnv. El archivo .htaccess contienesoloestas 3 líneas:
order allow,deny
allow from all
deny from 0.0.0.0
donde 0.0.0.0 se reemplaza por mi dirección IP real.
El resultado es el mismo: cuando obtengo example.com obtengo la página de prueba de Apache "Si puedes leer esto", y cuando obtengo example.com/x obtengo la página de prueba integrada "Prohibido... no tienes permiso". para acceder a /x en la página de este servidor".