Foros del Web » Administración de Sistemas » Apache »

Redireccion condicional según IP con htaccess

Estas en el tema de Redireccion condicional según IP con htaccess en el foro de Apache en Foros del Web. Muy buenas, Tengo en un mismo dominio colgado varias aplicaciones: Aplicacion 1: http://www.dominio.com/ruta1/ Aplicacion 2: http://www.dominio.com/ruta2/ Necesito saber que regla poner en el .htacces de ...
  #1 (permalink)  
Antiguo 26/11/2013, 06:56
 
Fecha de Ingreso: mayo-2007
Mensajes: 28
Antigüedad: 17 años, 6 meses
Puntos: 1
Redireccion condicional según IP con htaccess

Muy buenas,

Tengo en un mismo dominio colgado varias aplicaciones:

Aplicacion 1: http://www.dominio.com/ruta1/
Aplicacion 2: http://www.dominio.com/ruta2/

Necesito saber que regla poner en el .htacces de la raiz para cuando se acceda a la primera aplicación http://www.dominio.com/ruta1/ solo se pueda hacer desde un número limitado de IPS públicas, bloqueando al resto o redirigiendo a otra página al resto.

La idea logicamente es que si se pone esta regla para esta ruta no afecte a la otra ruta de la otra aplicación.

He estado leyendo algo sobre módulo rewrite pero no logro encontrar la manera de hacerlo funcionar. A ver si alguien me puede ayudar.

Muchicimas gracias,
  #2 (permalink)  
Antiguo 26/11/2013, 09:04
 
Fecha de Ingreso: mayo-2007
Mensajes: 28
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: Redireccion condicional según IP con htaccess

Por aportar más datos, estoy probando con esto:

RewriteCond %{HTTP_HOST} ^www\.dominio\.com\ruta1\$ [NC]
RewriteCond %{REMOTE_ADDR} !^0.0.0.0$ [OR]
RewriteCond %{REMOTE_ADDR} !^0.0.0.1$
RewriteRule .* https://www.google.es [R,L]

He puesto de ejemplo que rediriga a google, pero no va me lo bloquea todo.

¿Alguien que pueda echarme una mano?

Gracias,
  #3 (permalink)  
Antiguo 26/11/2013, 09:58
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: Redireccion condicional según IP con htaccess

Eehh??

Cita:
RewriteCond %{HTTP_HOST} ^www\.dominio\.com\ruta1\$ [NC]
Esto te tiene que lanzar un 500 Internal Server Error. No puedes mezclar RewriteCond con RewriteRule.
  #4 (permalink)  
Antiguo 26/11/2013, 10:26
 
Fecha de Ingreso: mayo-2007
Mensajes: 28
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: Redireccion condicional según IP con htaccess

Cita:
Iniciado por PHPeros Ver Mensaje
Eehh??



Esto te tiene que lanzar un 500 Internal Server Error. No puedes mezclar RewriteCond con RewriteRule.

Entiendo que pueda estar mal escrita, pero no entiendo lo de que no se puede mezclar porque ahí no veo que se mezclen.

Por lo que he leído primero se ponen la reglas Cond y despues la regla Rule, tal como está ahí.

¿Alguna idea para hacer lo que quiero hacer?

Gracias
  #5 (permalink)  
Antiguo 26/11/2013, 12:42
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: Redireccion condicional según IP con htaccess

Ah, disculpa no me fijé bien.

Creo que el problema es como testeas la URL:

Cita:
RewriteCond %{HTTP_HOST} ^www\.dominio\.com/ruta1/?$ [NC]
La barra invertida es solo para escapar metacaracteres, usa las convencionales para directorios.
El ? del final es para indicar que la última barra es opcional.
  #6 (permalink)  
Antiguo 27/11/2013, 02:40
 
Fecha de Ingreso: mayo-2007
Mensajes: 28
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: Redireccion condicional según IP con htaccess

Muchas gracias por el intento de ayuda, finalmente por si alguien le vale en un futuro se ha resuelto así:

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/ruta1
RewriteCond %{REMOTE_ADDR} !(IP)
RewriteCond %{REMOTE_ADDR} !(IP)
RewriteRule .* http://www.google.es [R,L]

Etiquetas: condicional, dominio, funcion, htaccess, ip, redireccion, según
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:30.