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

RewriteRule Problema

Estas en el tema de RewriteRule Problema en el foro de Apache en Foros del Web. Lo que quiero conseguir es que cuando alguien escriba www.miweb.com/var/LO_QUE_SEA ........... me ejecute la primera opcion de ahi abajo (hasta aqui todo correcto, esta parte ...
  #1 (permalink)  
Antiguo 15/02/2008, 08:16
 
Fecha de Ingreso: octubre-2007
Mensajes: 394
Antigüedad: 17 años
Puntos: 2
RewriteRule Problema

Lo que quiero conseguir es que cuando alguien escriba www.miweb.com/var/LO_QUE_SEA ........... me ejecute la primera opcion de ahi abajo (hasta aqui todo correcto, esta parte si me funciona)

Pero en el caso de que no se cumpla ese patron, sea lo que fuera lo k el usuario me escriba, quiero que me ejecute la segunda direccion de abajo, mandando como parametro todo lo que el usuario ha escrito
Ej:
www.miweb.com/pepito/lanotica/1/b
Esta como no cumple la primera opcion, pues quiero que me llame al index2.php mandandome parametro=pepito/lanotica/1/b

RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^var/(.+) ./index.php?parametro=$1 [L]
RewriteRule ^(.+) ./index2.php?parametro=$2 [L]


Yo lo he hecho asi y no me funciona el ultimo Rewrite Rule, porque?

Un saludo

Última edición por Blade_Stom; 15/02/2008 a las 19:05
  #2 (permalink)  
Antiguo 16/02/2008, 04:52
 
Fecha de Ingreso: octubre-2007
Mensajes: 394
Antigüedad: 17 años
Puntos: 2
Re: RewriteRule Problema

En caso de que nadie supiera contestarme a mi duda, me sería tambien de gran utilidad si supierais alguna pagina donde aparezca un buen manual de modrewrite, o en su defecto un buen manual de expresiones regulares, que creo que es lo que necesito

Gracias


UN SALUDO,
  #3 (permalink)  
Antiguo 16/02/2008, 05:47
Avatar de aloqui  
Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 11 meses
Puntos: 24
Re: RewriteRule Problema

No estoy seguro si sera por eso, pero la barra hay que escaparla:

Código:
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^var\/(.+)$ ./index.php?parametro=$1 [L]
RewriteRule ^(.+)$ ./index2.php?parametro=$2 [L]
Para manual de expresiones regulares, puedes mirar en la propia documentación de Apache: http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

Para expresiones regulares, puedes consultar: http://www.regular-expressions.info/reference.html
__________________
Grupos de Música
Pop Music Stars
  #4 (permalink)  
Antiguo 16/02/2008, 06:04
 
Fecha de Ingreso: octubre-2007
Mensajes: 394
Antigüedad: 17 años
Puntos: 2
Re: RewriteRule Problema

gracias por la respuesta pero como explike arriba, la primera condicion se cumple y funciona bien, la que no me funciona es el siguiente patron

aun asi, gracias por la respuesto

Un saludo
  #5 (permalink)  
Antiguo 21/08/2008, 08:53
 
Fecha de Ingreso: junio-2005
Mensajes: 11
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: RewriteRule Problema

Cita:
Iniciado por Blade_Stom Ver Mensaje
Lo que quiero conseguir es que cuando alguien escriba www .miweb. com/var/LO_QUE_SEA ........... me ejecute la primera opcion de ahi abajo (hasta aqui todo correcto, esta parte si me funciona)

Pero en el caso de que no se cumpla ese patron, sea lo que fuera lo k el usuario me escriba, quiero que me ejecute la segunda direccion de abajo, mandando como parametro todo lo que el usuario ha escrito
Ej:
www .miweb. com/pepito/lanotica/1/b
Esta como no cumple la primera opcion, pues quiero que me llame al index2.php mandandome parametro=pepito/lanotica/1/b

RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^var/(.+) ./index.php?parametro=$1 [L]
RewriteRule ^(.+) ./index2.php?parametro=$2 [L]


Yo lo he hecho asi y no me funciona el ultimo Rewrite Rule, porque?

Un saludo
Hola Blade_Stom, el problema es el $2 deberia ser solo $1. en la segunda linea igual...
si quieres utilizar $2 seria algo asi para que tengas una idea:

Código:
RewriteRule        ^(.+)/(.+)                ./index2.php?parametro=$1&par2=$2
Saludos,
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 01:15.