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

Expresión regular para evitar 404s - consejos?

Estas en el tema de Expresión regular para evitar 404s - consejos? en el foro de Apache en Foros del Web. Buenas, en una tienda online se han cambiado los enlaces de todos los productos al haber cambiado el sistema utilizado, por lo que me interesa ...
  #1 (permalink)  
Antiguo 24/11/2011, 07:28
 
Fecha de Ingreso: febrero-2009
Mensajes: 9
Antigüedad: 15 años, 2 meses
Puntos: 1
Pregunta Expresión regular para evitar 404s - consejos?

Buenas, en una tienda online se han cambiado los enlaces de todos los productos al haber cambiado el sistema utilizado, por lo que me interesa hacer una redirección htaccess de los enlaces viejos a la búsqueda del nombre de esos productos.

ejemplo.

Enlace en google : www.tienda.com/producto-muy-bonito-p-4567.html

Lo que quiero es que al acceder a ese link, se redirija a search.php?search_query=producto+muy+bonito

Por ahora tengo lo siguiente:

RewriteRule ^([a-zA-Z0-9-]*)-p-([0-9]+)\.html /search.php?search_query=$1

Esto hace que la url

www.tienda.com/producto-muy-bonito-p-4567.html

se transforme en:

www.tienda.com/search?search_query=producto-muy-bonito

Como modifico mi expresión regular para que cambie además los - por + ? Hay que tener en cuenta que el numero de - es variable, la url puede ser tanto producto-muy-bonito como producto-bonito o producto-muy-bonito-y-largo

Gracias
  #2 (permalink)  
Antiguo 24/11/2011, 08:43
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 12 años, 7 meses
Puntos: 140
Respuesta: Expresión regular para evitar 404s - consejos?

mmmm... quizá esto te pueda servir, aunque no tengo muy claro lo de poner $1+$2 etc después del id....

RewriteRule ^([a-z]+)-([a-z]+)-p-([0-9]+)\.html$ search.php?search_query=$1+$2 [L, NC] (para 2 palabras)
RewriteRule ^([a-z]+)-([a-z]+)-([a-z]+)-p-([0-9]+)\.html$ search.php?search_query=$1+$2+$3 [L,NC] (para 3 palabras)
etc...

Quizá lo más sencillo sería enviar la search_query=producto-muy-bonito y luego mediante php cambiar los guiones por +, lo veo más sencillo
  #3 (permalink)  
Antiguo 24/11/2011, 12:29
 
Fecha de Ingreso: febrero-2009
Mensajes: 9
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Expresión regular para evitar 404s - consejos?

Hola Charlyalegret, el problema es que no sé cuantas palabras pueden ser, podría poner la misma regla repetida hasta 20 palabras supongo, pero no es muy limpio, ahora mismo lo tengo funcionando por php como tu dices, pero quería jugar con las expresiones regulares

Etiquetas: html, regular, variables
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 12:46.