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

varias redirecciones a url amigables a una misma página

Estas en el tema de varias redirecciones a url amigables a una misma página en el foro de Apache en Foros del Web. No se si esto va realmente aqui, pero estoy he redireccionado con cierto éxito páginas del tipo: index.php?departamento=informatica&objeto=reparaci on a /informatica/reparacion con cierto éxito, pero ...
  #1 (permalink)  
Antiguo 21/10/2011, 07:44
 
Fecha de Ingreso: mayo-2010
Mensajes: 128
Antigüedad: 14 años, 5 meses
Puntos: 13
varias redirecciones a url amigables a una misma página

No se si esto va realmente aqui, pero estoy he redireccionado con cierto éxito páginas del tipo:

index.php?departamento=informatica&objeto=reparaci on a /informatica/reparacion
con cierto éxito, pero me encuentro que tengo una página buscar.php que quiero que se den varias redirecciones en función de las variables

Por ejemplo, el .htacces lo tengo así:

RewriteRule ^([0,9]+)/(\w+)\.html$ index.php?varias=$1&ciudad=$2
RewriteRule ^([0-9]+)/(\w+)\.html$ buscar.php?tipo=$1&ciudad=$2
RewriteRule ^([0-9]+)/([a-zA-Z0-9-]+)\.html$ anuncio.php?anuncio=$1&titulo=$2
RewriteRule ^([a-zA-Z-]+)/(\w+)\.html$ buscar.php?seccion=$1&ciudad=$2
RewriteRule ^([a-zA-Z-]+)/([a-zA-Z0-9-]+)\.html$ buscar.php?carpetas=$1ciudad=$2

Funcionan todas, salvo la última que redirige a la pagina buscar pero sin mostrar ningún resultado (cuando debería hacerlo). Pero si por ejemplo comento la penultima línea si funciona. ¿Qué esta fallando?
  #2 (permalink)  
Antiguo 22/10/2011, 03:51
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 13 años, 1 mes
Puntos: 140
Respuesta: varias redirecciones a url amigables a una misma página

Te falta una y:

Cita:
RewriteRule ^([a-zA-Z-]+)/([a-zA-Z0-9-]+)\.html$ buscar.php?carpetas=$1&ciudad=$2
  #3 (permalink)  
Antiguo 22/10/2011, 05:23
 
Fecha de Ingreso: mayo-2010
Mensajes: 128
Antigüedad: 14 años, 5 meses
Puntos: 13
Respuesta: varias redirecciones a url amigables a una misma página

Gracias. Sigue sin funcionar. Como digo, si comento la linea anterior funciona bien.
  #4 (permalink)  
Antiguo 22/10/2011, 06:17
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 13 años, 1 mes
Puntos: 140
Respuesta: varias redirecciones a url amigables a una misma página

Nose... la diferencia entre las dos últimas lineas, es que en el $2 la primera sólo acepta letras y la segunda letras, números y guión, no? (no lo tengo muy claro)
Has provado de poner en la primera algo como [a-zA-Z]+ ? no se, digo por ir provando cosas y pequeñas variaciones hasta dar con la buena....
Si no estoy diciendo tonterías (que no lo tengo muy claro), no se podría dejar las dos lineas en una dejando un (.+) y luego diferenciar si contiene numeros o no con un script php?

Bueno, suerte!
  #5 (permalink)  
Antiguo 22/10/2011, 06:19
 
Fecha de Ingreso: mayo-2010
Mensajes: 128
Antigüedad: 14 años, 5 meses
Puntos: 13
Respuesta: varias redirecciones a url amigables a una misma página

Pues después de varias pruebas, parece que lo he arrglado con una "," en lugar de "/".

RewriteRule ^([0,9]+)/(\w+)\.html$ index.php?varias=$1&ciudad=$2
RewriteRule ^([a-zA-Z-]+)/(\w+)\.html$ buscar.php?seccion=$1&ciudad=$2
RewriteRule ^([0-9]+)/(\w+)\.html$ buscar.php?tipo=$1&ciudad=$2
RewriteRule ^([a-zA-Z-]+),([a-zA-Z0-9-]+)\.html$ buscar.php?carpetas=$1&ciudad=$2
RewriteRule ^([0-9]+)/([a-zA-Z0-9-]+)\.html$ anuncio.php?anuncio=$1&titulo=$2

Por supuesto también he tenido que cambiar el código php:

El de antes:
<a href="http://www.laweb.es/todos/<?php echo limpiar_especiales($_GET["ciudad"]);?>.html"><?php echo $_GET['ciudad'];?> (<?php echo $registros;?>)</a></h1>

El de ahora:
<a href="http://www.laweb.es/todos,<?php echo limpiar_especiales($_GET["ciudad"]);?>.html"><?php echo $_GET['ciudad'];?> (<?php echo $registros;?>)</a></h1>

Pero sigo sin entender porque funciona de una manera y no de la otra. Por lo visto también influye el orden al colocar las reglas.

Etiquetas: amigables, página, url, redireccionar
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 19:10.