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

Mod_rewrite: duda con expresiones regulares en .htaccess

Estas en el tema de Mod_rewrite: duda con expresiones regulares en .htaccess en el foro de Apache en Foros del Web. Hola!! Vereis, en mi fichero .htaccess tengo lo siguiente para convertir urls con modrewrite: Código: RewriteEngine On RewriteRule ^([^/]*)/$ index.php?uno=$1 Esto me convertiria, por ejemplo: ...
  #1 (permalink)  
Antiguo 30/07/2008, 01:37
Avatar de javiro  
Fecha de Ingreso: febrero-2006
Mensajes: 48
Antigüedad: 18 años, 2 meses
Puntos: 1
Mod_rewrite: duda con expresiones regulares en .htaccess

Hola!!
Vereis, en mi fichero .htaccess tengo lo siguiente para convertir urls con modrewrite:

Código:
RewriteEngine On
RewriteRule ^([^/]*)/$ index.php?uno=$1
Esto me convertiria, por ejemplo: dominio.com/cosa/ en dominio.com?uno=cosa
Pero el problema de esta expresion regular es que solo convierte si la url amigable termina en barra /, de forma que no funciona si entra la url dominio.com/cosa, o sea, que no termine en barra.

¿Como seria la expresion regular para que la url amigable pueda venir con barra o sin barra al final y obtenga el resultado que quiero?

Gracias
  #2 (permalink)  
Antiguo 30/07/2008, 06:18
Avatar de sheik  
Fecha de Ingreso: mayo-2008
Mensajes: 8
Antigüedad: 16 años
Puntos: 1
Respuesta: Mod_rewrite: duda con expresiones regulares en .htaccess

Cita:
Iniciado por javiro Ver Mensaje
Hola!!
Vereis, en mi fichero .htaccess tengo lo siguiente para convertir urls con modrewrite:

Código:
RewriteEngine On
RewriteRule ^([^/]*)/$ index.php?uno=$1
Esto me convertiria, por ejemplo: dominio.com/cosa/ en dominio.com?uno=cosa
Pero el problema de esta expresion regular es que solo convierte si la url amigable termina en barra /, de forma que no funciona si entra la url dominio.com/cosa, o sea, que no termine en barra.

¿Como seria la expresion regular para que la url amigable pueda venir con barra o sin barra al final y obtenga el resultado que quiero?

Gracias
Código:
RewriteEngine On
RewriteRule ^([^\/]+)\/?$ index.php?uno=$1
  #3 (permalink)  
Antiguo 30/07/2008, 09:06
Avatar de javiro  
Fecha de Ingreso: febrero-2006
Mensajes: 48
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: Mod_rewrite: duda con expresiones regulares en .htaccess

Gracias sheik, pero eso no me funciona. Sería lo lógico con expresiones regulares pero, no se porque no funciona nada.
Copio aqui todas las instrucciones:
Código:
RewriteEngine On
RewriteRule ^([^/]*)/$ index.php?uno=$1
RewriteRule ^([^/]*)/([^/]*)/$ index.php?dos=$1&uno=$2
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/$ index.php?tres=$1&dos=$2&uno=$3
Esto me esta funcionando ahora, lo único es que si quito la barra al final de la url amigable ya no funciona, y quiero obtener el mismo resultado con barra o sin barra.

¿que puede estar pasando?
  #4 (permalink)  
Antiguo 21/11/2008, 08:19
Avatar de sheik  
Fecha de Ingreso: mayo-2008
Mensajes: 8
Antigüedad: 16 años
Puntos: 1
Respuesta: Mod_rewrite: duda con expresiones regulares en .htaccess

Al final he conseguido hacerlo dejo un link a un ejemplo en mi blog http://www.neleste.com/cajas-de-igoogle/
  #5 (permalink)  
Antiguo 20/12/2009, 21:41
 
Fecha de Ingreso: diciembre-2009
Mensajes: 2
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Mod_rewrite: duda con expresiones regulares en .htaccess

tengo el mismo problema pero no publicaste la solucion te agradeceria lo hicieras

Última edición por juanhayek; 20/12/2009 a las 21:53
  #6 (permalink)  
Antiguo 21/12/2009, 02:01
Avatar de javiro  
Fecha de Ingreso: febrero-2006
Mensajes: 48
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: Mod_rewrite: duda con expresiones regulares en .htaccess

Hace tiempo tambien lo resolvi esto.
Mira esto funciona con o sin barra / al final:

Código:
RewriteRule ^([a-zA-Z0-9-]+)/?$ index.php?uno=$1
Salud!!
  #7 (permalink)  
Antiguo 21/12/2009, 07:32
 
Fecha de Ingreso: diciembre-2009
Mensajes: 2
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Mod_rewrite: duda con expresiones regulares en .htaccess

gracias sheik y javiro por su pronta respuesta ya me esta funcionando todo perfecto, un saludo desde colombia
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 14:14.