Quiero restringir un sitio completo de tal forma que solo dos IP puedan ingresar al sitio. Tengo el siguiente en mi .htaccess (en la raíz del sitio):Restricción de IP con htaccess
ErrorDocument 403 http://www.example.com/views/error403.html
Order Deny,Allow
Deny from all
Allow from 311.311.311 322.322.322.322
ErrorDocument 404 /views/error404.html
ErrorDocument 500 views/error500.html
(Obviamente, estos son falsas direcciones IP, en mi .htaccess que son las IPs derecha)
Como se puede ver, Permití solo 322.322.322.322 y todas las direcciones IP desde 311.311.311.0/24, y denego para el resto de las personas. Lo que quiero es que cuando alguien ingrese al sitio desde otra IP, vea la página error403.html.
El filtro funciona bien, pero no la redirección. Cuando trato de entrar en el sitio desde un IP negar, aparece un mensaje de Apache:
Found
The document has moved here
Donde "aquí" es un enlace a error403.html.
Creo que estoy restringiendo incluso la página error403.html.
¿Cómo puedo hacer esta restricción, pero permitiendo la vista de la página de error? ¿Debo mover la página error403.html a otro directorio (es decir,/views/error /) y poner otro .htaccess en ella, permitiendo en ese archivo todas las direcciones IP?
¡Gracias de antemano!
Me preguntaba si existiría otra forma de pretier para resolver este problema, pero ha confirmado mi sospecha; Lo haré con otro par directory-htaccess. Gracias Vlad! – ARemesal
Siempre puede hacer esto desde httpd.conf con reglas más sofisticadas en cuanto a qué directorios se ven afectados y cuáles no, pero francamente no vale la pena a menos que tenga problemas de rendimiento con el uso de .htaccess (que no lo hará a menos que atender cientos o miles de solicitudes por segundo.) – vladr
Y este sitio está alojado en una máquina compartida donde no puedo cambiar httpd.conf, por lo que la solución con .htaccess es perfecta para esto. – ARemesal