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

Duda sobre opciones de las reglas de mod_rewrite

Estas en el tema de Duda sobre opciones de las reglas de mod_rewrite en el foro de Apache en Foros del Web. Antes de nada pido perdón por si el tema ya ha sido tratado, pero es que no encuentro nada (es más, hay demasiado del mod_rewrite, ...
  #1 (permalink)  
Antiguo 09/11/2007, 06:04
 
Fecha de Ingreso: diciembre-2005
Ubicación: Redondela (Galicia)
Mensajes: 368
Antigüedad: 18 años, 4 meses
Puntos: 1
Duda sobre opciones de las reglas de mod_rewrite

Antes de nada pido perdón por si el tema ya ha sido tratado, pero es que no encuentro nada (es más, hay demasiado del mod_rewrite, pero no encuentro lo que quiero)

Mi problema es el siguiente: Tengo esta regla

Cita:
Rewriterule ^hola/([^/]+)/?(.*)/?$ hola/index.php?sec=$1 [L]
, pero es que no funciona como yo quiero, pues en lugar de pasar el primer patrón capturado a la variable sec de PHP, pasa la palabra index.php. ¿Por qué? Pues supongo que porque primero hace una conversión de la petición hecha por el usuario, pero luego sigue comprobando si se pueden seguir haciendo conversiones al resultado obtenido siguiendo la misma regla.

Mi pregunta es, ¿cómo puedo decirle al mod_rewrite que no siga haciendo conversiones, que sólo haga una? Supongo que será con una flag en la regla, pero ya he probado con L y PT pero no sirven para eso...

¿Alguna sugerencia?

Gracias por vuestro tiempo
  #2 (permalink)  
Antiguo 09/11/2007, 13:59
 
Fecha de Ingreso: noviembre-2007
Mensajes: 157
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Duda sobre opciones de las reglas de mod_rewrite

Si pusieras un ejemplo de las urls que quieres reescribir te podría decir... pero tiene pinta de entrar en un bucle.

En el primero, te lo reescribe tal y como tú quieres, hola/index.php?sec=loquesea
luego entra en una segunda iteración, y te lo pone así:
hola/index.php?sec=index.php
Luego entra en un bucle infinito, hasta que llega al máximo permitido, y así te queda.

¿Por qué te ocurre esto? Porque el patrón coincide con la nueva url reescrita. Si quieres que funcione bien, eso no puede ocurrir.

Prueba así:

Código:
RewriteCond %{QUERY_STRING} ^$
Rewriterule ^hola/([^/]+)/?(.*)/?$ hola/index.php?sec=$1 [L]
  #3 (permalink)  
Antiguo 10/11/2007, 08:52
 
Fecha de Ingreso: diciembre-2005
Ubicación: Redondela (Galicia)
Mensajes: 368
Antigüedad: 18 años, 4 meses
Puntos: 1
Re: Duda sobre opciones de las reglas de mod_rewrite

Muchas gracias! Era justo lo que necesitaba
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 06:17.