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

Quien me da una mano... .htaccess. No entiendo el RewriteRule

Estas en el tema de Quien me da una mano... .htaccess. No entiendo el RewriteRule en el foro de Apache en Foros del Web. Hola quiero tranforma mis URL pero ya me estoy dando por vencido Tengo la siguiente web http://www.rock-de-barrio.com.ar/bandas-de-rock-and-roll.php?banda=etiqueta y quisiera que se tranforme en http://www.rock-de-barrio.com.ar/etiqueta/ probe ...
  #1 (permalink)  
Antiguo 14/05/2008, 16:02
 
Fecha de Ingreso: diciembre-2007
Mensajes: 110
Antigüedad: 17 años
Puntos: 1
Quien me da una mano... .htaccess. No entiendo el RewriteRule

Hola quiero tranforma mis URL pero ya me estoy dando por vencido


Tengo la siguiente web

http://www.rock-de-barrio.com.ar/bandas-de-rock-and-roll.php?banda=etiqueta

y quisiera que se tranforme en

http://www.rock-de-barrio.com.ar/etiqueta/

probe con esto y muchas variantes mas..pero no hace nada de nada

Rewriterule ^(.*)\/$ bandas-de-rock-and-roll.php?banda=$1

sinceramente no entiendo donde ni como la variable $1 va a aparecer en la url estatica


Muchas Gracias!!!
  #2 (permalink)  
Antiguo 14/05/2008, 17:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Quien me da una mano... .htaccess. No entiendo el RewriteRule

Tema trasladado a Apache.
  #3 (permalink)  
Antiguo 20/05/2008, 13:32
 
Fecha de Ingreso: abril-2005
Mensajes: 208
Antigüedad: 19 años, 8 meses
Puntos: 1
Respuesta: Quien me da una mano... .htaccess. No entiendo el RewriteRule

Hola,

El punto . es un metacaracter, conviene que lo escapes con la barra invertida, también tienes un secuencia como esta \/ no es necesario que escapes la barra /, es tomada como literal.

Si todas tus url, llevan el patron palabra-palabra-palabra.php en el documento, talvez te sirva esto:

^([\w-]+)\.php/(.*)/? $1.php?banda=$2

\w cualquier letra mayuscula o minuscula, - caracter literal
+ cuantificador una o mas veces
\. caracter de escape y el punto, para que lo tome literal

(.*) cualquier caracter en cualquier cantidad, puedes redifinirlo
? cuantificador de 0 o 1 vez

$1 y $2 son referencias a los patrones encerrados en () que son subpatrones del patrón.

por ello al hacer referencia a etiqueta con $1 en tu anterior patrón, se refería a la primera coincidencia.

Espero te sirva,

Logout.
  #4 (permalink)  
Antiguo 20/05/2008, 20:25
Avatar de j_aroche
Server Ninja
 
Fecha de Ingreso: agosto-2006
Ubicación: iPhone: 14.624481,-90.487457
Mensajes: 2.066
Antigüedad: 18 años, 4 meses
Puntos: 223
Respuesta: Quien me da una mano... .htaccess. No entiendo el RewriteRule

GsutavoDeLanus, recuerda que debes modificar tu script para que genera las URLs con el nuevo formato, RewriteRule, solo te ayudará a interpretar las urls nuevas hacia las "viejas"; solo lo aclaro ya que resulta una duda muy común confundir el trabajo de RewriteRule
__________________
Blog: JavierAroche.com - Twitter: @j_aroche
  #5 (permalink)  
Antiguo 12/06/2008, 16:24
 
Fecha de Ingreso: diciembre-2007
Mensajes: 110
Antigüedad: 17 años
Puntos: 1
Respuesta: Quien me da una mano... .htaccess. No entiendo el RewriteRule

Cita:
Iniciado por j_aroche Ver Mensaje
GsutavoDeLanus, recuerda que debes modificar tu script para que genera las URLs con el nuevo formato, RewriteRule, solo te ayudará a interpretar las urls nuevas hacia las "viejas"; solo lo aclaro ya que resulta una duda muy común confundir el trabajo de RewriteRule

No entiendo a que te refieres con modifcar mi script... pense que el ModRewrite hacia todo y que no habia que tocar nada.

Lo que me recomendo el amable LogOut no me funcionó. Igualmente no se preocupen que estoy rehaciendo el site nuevamente. Aunque sería interesante saber como se hacía.

Un gran saludo! y muchas gracias a ambos por responderme
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 20:48.