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

Uso de Rewrite

Estas en el tema de Uso de Rewrite en el foro de Apache en Foros del Web. Me estoy volviendo loco con el dichoso rewrite imaginaros una url: Código HTML: dominio.com/producto.php?num=3 y quiero que se convierta en dominio.com/productos/producto3.html he probado con: Código ...
  #1 (permalink)  
Antiguo 24/10/2011, 12:09
Avatar de gran Wakka  
Fecha de Ingreso: septiembre-2007
Mensajes: 712
Antigüedad: 17 años, 3 meses
Puntos: 48
Uso de Rewrite

Me estoy volviendo loco con el dichoso rewrite

imaginaros una url:

Código HTML:
dominio.com/producto.php?num=3 
y quiero que se convierta en dominio.com/productos/producto3.html
he probado con:

Código HTML:
RewriteRule ^producto.php?num=(.*)$ 
/productos/producto/producto$2.html [L, R=301]
Y nada de nada... alguna idea de lo que estoy haciendo mal?
__________________
Información de Series de TV
Buscas o quieres ser redactor? Ofertas redactor web
  #2 (permalink)  
Antiguo 24/10/2011, 13:54
Avatar de Trublux  
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 355
Antigüedad: 14 años, 2 meses
Puntos: 48
Respuesta: Uso de Rewrite

La verdad es que nunca he probado a hacer eso en concreto, pero hay una cosa que está mal, el "$2" debería ser "$1".
Cuando pones algo entre paréntesis, en la segunda parte se pone $+<el número de paréntesis al que te refieres>, así que en este caso te estás refiriendo al segundo paréntesis de la condición... y no existe. No sé si la RR funcionará pero seguro que eso está mal.
Otra cosa, las flags ponlas al revés "[L,R=301]".
__________________
eZ Publish Developer Basic Legacy
eZ Publish Developer Basics (4.4)
Alojamientos rurales en España
  #3 (permalink)  
Antiguo 25/10/2011, 09:46
Avatar de gran Wakka  
Fecha de Ingreso: septiembre-2007
Mensajes: 712
Antigüedad: 17 años, 3 meses
Puntos: 48
Respuesta: Uso de Rewrite

Cita:
Iniciado por Trublux Ver Mensaje
La verdad es que nunca he probado a hacer eso en concreto, pero hay una cosa que está mal, el "$2" debería ser "$1".
Cuando pones algo entre paréntesis, en la segunda parte se pone $+<el número de paréntesis al que te refieres>, así que en este caso te estás refiriendo al segundo paréntesis de la condición... y no existe. No sé si la RR funcionará pero seguro que eso está mal.
Otra cosa, las flags ponlas al revés "[L,R=301]".
Si lo del $1 es cierto. Es que realmente tengo 2 () pero para simplificar he dejado solo uno y se me ha colado.

Los flags los tengo como me has pasado tu. o es que en los flags debe ir primero la R y luego L? No sabia que influía el orden.

A ver si alguien me puede echar un cable.
__________________
Información de Series de TV
Buscas o quieres ser redactor? Ofertas redactor web
  #4 (permalink)  
Antiguo 25/10/2011, 11:31
Avatar de Trublux  
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 355
Antigüedad: 14 años, 2 meses
Puntos: 48
Respuesta: Uso de Rewrite

¿Y cómo es la RR en realidad?
No sé si influye el orden de las flags pero en la documentación cuando pone el ejemplo de la redirección la poner primero (ahora me doy cuenta de que la puse como la tenías puesta, jaja) así que siempre pongo la R primero, nunca lo he probado al revés.
__________________
eZ Publish Developer Basic Legacy
eZ Publish Developer Basics (4.4)
Alojamientos rurales en España
  #5 (permalink)  
Antiguo 25/10/2011, 17:27
Avatar de gran Wakka  
Fecha de Ingreso: septiembre-2007
Mensajes: 712
Antigüedad: 17 años, 3 meses
Puntos: 48
Respuesta: Uso de Rewrite

Código HTML:
RewriteRule ^producto.php?num=(.*)$ 
/productos/producto/producto$1.html [L, R=301]
He probado así y tampoco.

He mirado lo de cambiar el orden e incluso quitando los flags y dejando solo esta RR en el fichero y nada de nada.

Creo que no le mola la interrogación o los parámetros o algo así. Por si era la interrogación, he intentando escaparla y tampoco.

Código HTML:
RewriteRule ^producto.php\?num=(.*)$ 
/productos/producto/producto$1.html [L, R=301]
Gracias por el interes
__________________
Información de Series de TV
Buscas o quieres ser redactor? Ofertas redactor web
  #6 (permalink)  
Antiguo 26/10/2011, 16:36
Avatar de Trublux  
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 355
Antigüedad: 14 años, 2 meses
Puntos: 48
Respuesta: Uso de Rewrite

Hola, creo que más o menos ya lo tengo:
Código Apache:
Ver original
  1. RewriteCond %{REQUEST_URI} ^/producto\.php$ [NC]
  2. RewriteCond %{QUERY_STRING} ^num=(.*)$ [NC]
  3. RewriteRule ^(.*)$ /productos/producto/producto%1\.html? [R=301,L]

Esto redirige esta URL:
http://<tu-url>/producto.php?num=4
A esta otra:
http://<tu-url>/productos/producto/producto4.html
__________________
eZ Publish Developer Basic Legacy
eZ Publish Developer Basics (4.4)
Alojamientos rurales en España

Última edición por Trublux; 26/10/2011 a las 17:13
  #7 (permalink)  
Antiguo 27/10/2011, 05:12
Avatar de gran Wakka  
Fecha de Ingreso: septiembre-2007
Mensajes: 712
Antigüedad: 17 años, 3 meses
Puntos: 48
Respuesta: Uso de Rewrite

Le echaré un ojo a ver que pasa.

Muchas gracias.
__________________
Información de Series de TV
Buscas o quieres ser redactor? Ofertas redactor web

Etiquetas: html, php, rewrite, url
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:50.