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

RewriteRule y variables GET

Estas en el tema de RewriteRule y variables GET en el foro de Apache en Foros del Web. Yo tengo esto que anda bien RewriteRule ^modulo/(.*)/$ index.php?md=$1 [L] Que me coniverte una dir como esta http://localhost/wcstats/modulo/users/ en http://localhost/wcstats/index.php?md=users Ahora lo que yo quiero ...
  #1 (permalink)  
Antiguo 11/03/2009, 10:04
GPS
 
Fecha de Ingreso: diciembre-2003
Ubicación: Montevideo, Uruguay
Mensajes: 110
Antigüedad: 20 años, 11 meses
Puntos: 0
RewriteRule y variables GET

Yo tengo esto que anda bien
RewriteRule ^modulo/(.*)/$ index.php?md=$1 [L]

Que me coniverte una dir como esta
http://localhost/wcstats/modulo/users/
en
http://localhost/wcstats/index.php?md=users

Ahora lo que yo quiero es que me tome tambien variables GET. Es decir si tengo una URL como esta
http://localhost/wcstats/modulo/user...ame&order=desc
la convierta en
http://localhost/wcstats/index.php?m...ame&order=desc

Alguna idea?

Yo probe con esto
RewriteRule ^modulo/(.*)/\.?(.*)$ index.php?md=$1&$2 [L]
pero no me funciona...
  #2 (permalink)  
Antiguo 19/06/2009, 03:23
 
Fecha de Ingreso: noviembre-2006
Mensajes: 2
Antigüedad: 18 años
Puntos: 0
Respuesta: RewriteRule y variables GET

Lo que quieres tendrías que hacerlo así:

RewriteCond %{QUERY_STRING} ^([^/]+)
RewriteRule ^modulo/(.+)/$ index.php?md=$1&%1

La primera línea evalua el query_string, es decir, los parámetros pasados por GET. Si la condición del RewriteCond se cumple, a la siguiente línea (la del RewriteRule) le pasa el valor %1 que es el que usas en el RewriteRule para reenviar el GET.

A mí me costó dar con la solución también... jeje
  #3 (permalink)  
Antiguo 19/06/2009, 09:47
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: RewriteRule y variables GET

También se puede hacer sin el RewriteCond añadiendo el flag QSA (Query String Append):
Código Apache:
Ver original
  1. RewriteRule ^modulo/(.*)/$ index.php?md=$1 [L,QSA]
Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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:09.