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

Expresión regular para cambiar urls en htaccess

Estas en el tema de Expresión regular para cambiar urls en htaccess en el foro de Apache en Foros del Web. Hola, estoy tratando de cambiar unas urls de un formato a otro para evitar errores 404 al cambiar una web. Las urls antiguas son de ...
  #1 (permalink)  
Antiguo 24/07/2012, 05:57
 
Fecha de Ingreso: febrero-2009
Mensajes: 9
Antigüedad: 15 años, 2 meses
Puntos: 1
Expresión regular para cambiar urls en htaccess

Hola, estoy tratando de cambiar unas urls de un formato a otro para evitar errores 404 al cambiar una web.

Las urls antiguas son de este estilo:

product_info.php?currency=MXN&products_id=15016&la nguage=es&amp%3Bcurrency=MXN

y lo quiero redirigir a http://dominio.com/15016-producto.html

Y esto es lo que llevo pero no funciona:



RewriteRule ^product_info.php\?currency=([a-zA-Z]*)\&products_id=([0-9]+) http://dominio.com/$2-producto.html [QSA,L]

Donde estoy fallando?
  #2 (permalink)  
Antiguo 24/07/2012, 06:18
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Expresión regular para cambiar urls en htaccess

Y porque no lo haces con php? (yo lo he hecho)


por ejemplo:


product_info.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. if(isset($_GET['products_id']) and is_numeric($_GET['products_id'])) {
  4.  
  5.  
  6. header( 'HTTP/1.1 301 Moved Permanently');
  7. header( 'Location: http://dominio.com/' . $_GET['products_id'] . '-producto.html');
  8.  
  9. }
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #3 (permalink)  
Antiguo 24/07/2012, 12:42
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Expresión regular para cambiar urls en htaccess

Cita:
Iniciado por rodobook Ver Mensaje
Hola, estoy tratando de cambiar unas urls de un formato a otro para evitar errores 404 al cambiar una web.

Las urls antiguas son de este estilo:

product_info.php?currency=MXN&products_id=15016&la nguage=es&amp%3Bcurrency=MXN

y lo quiero redirigir a http://dominio.com/15016-producto.html

Y esto es lo que llevo pero no funciona:



RewriteRule ^product_info.php\?currency=([a-zA-Z]*)\&products_id=([0-9]+) http://dominio.com/$2-producto.html [QSA,L]

Donde estoy fallando?
@rodobook
lo estás haciendo al revés, es así

RewriteRule patron/expresion_regular página_de_destino

Ejemplo
Código Apache:
Ver original
  1. RewriteRule ^shop/camiseta/([0-9]+)$     /detalle.php?id=$1 [L]



Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 24/07/2012, 14:46
 
Fecha de Ingreso: febrero-2009
Mensajes: 9
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Expresión regular para cambiar urls en htaccess

Cita:
Iniciado por miktrv Ver Mensaje
Y porque no lo haces con php? (yo lo he hecho)


por ejemplo:


product_info.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. if(isset($_GET['products_id']) and is_numeric($_GET['products_id'])) {
  4.  
  5.  
  6. header( 'HTTP/1.1 301 Moved Permanently');
  7. header( 'Location: http://dominio.com/' . $_GET['products_id'] . '-producto.html');
  8.  
  9. }
Cierto, mucho mas sencillo, no había caído en algo tan sencillo pero efectivo

Gracias
  #5 (permalink)  
Antiguo 25/07/2012, 00:59
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Expresión regular para cambiar urls en htaccess

De nada! a mi me funciona de lujo! un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo

Etiquetas: htaccess, html, regular, 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 23:14.