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

Problema con url amigable

Estas en el tema de Problema con url amigable en el foro de Apache en Foros del Web. Amigos: Esto intentando transformar una paginacion del tipo listado.php?page=1 a listado-1.html. Utilizo para paginar la clase PHPPaging.lib la cual me funciona perfectamente. La paginacion funciona ...
  #1 (permalink)  
Antiguo 24/02/2010, 11:16
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 21 años, 9 meses
Puntos: 7
Problema con url amigable

Amigos:

Esto intentando transformar una paginacion del tipo listado.php?page=1 a listado-1.html.

Utilizo para paginar la clase PHPPaging.lib la cual me funciona perfectamente.

La paginacion funciona correctamente con este formato:

http://subdominio.miweb.com/listado.php?page=2

Y al aplicar el mod-rewrite logro dejar el vinculo de esta forma:

http://aplicacion.miweb.com/listado-2.html

Pero al clickear en el vinculo no me encuentra la pagina. Lo que me lleva a determinar que es problema de lo declarado en el .htaccess es que posicionandome sobre el vinculo listado-2.html me muestra la cantidad total de registros que hay en la proxima pagina hacia adonde lleva dicho vinculo.

Les muestro como tengo el .htaccess:

Código Apache:
Ver original
  1. Options +FollowSymLinks
  2. RewriteEngine on
  3.  
  4. RewriteRule ^aplicacion/propiedad-([0-9]+)\.html$ aplicacion/ficha.php?id=$1
  5. RewriteRule ^aplicacion/(.*)\.html$ aplicacion/$1.php
  6. RewriteRule ^aplicacion/listado-([0-9]+)\.html$ aplicacion/listado.php?page=$1

La regla en cuestion es la tercera.

La primera y la segunda funcionan bien, pero la tercera no y tiene el mismo formato que la primera...

Cual podrá ser el error???

Desde ya muchas gracias a todos los que puedan ayudarme.

Saludos.
__________________
www.awdesarrollos.com.ar - [twitter: @armandoweb] - [Skype: awdesarrollos"]
  #2 (permalink)  
Antiguo 24/02/2010, 11:32
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 8 meses
Puntos: 77
Respuesta: Problema con url amigable

Esto mas bien es cosa del htaccess y no de php, pero me parece que tienes que colocar la segunda regla al final, ya que es un caso mas general de la tercera..
  #3 (permalink)  
Antiguo 24/02/2010, 11:41
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 21 años, 9 meses
Puntos: 7
Respuesta: Problema con url amigable

Amigo... genial!!!

Cambie de lugar las reglas como dijiste y funcionó!!!

Explicame si puedes porque pasó esto?? por lo que veo tiene importancia el orden de las reglas...

Desde ya muchisimas gracias!!

Saludos.
__________________
www.awdesarrollos.com.ar - [twitter: @armandoweb] - [Skype: awdesarrollos"]
  #4 (permalink)  
Antiguo 24/02/2010, 11:49
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 8 meses
Puntos: 77
Respuesta: Problema con url amigable

Pues si, porque se van aplicando en el orden en que las colocas, entonces, si colocas una mas general arriba de otra mas especifica, la general se aplica primero, y ya no checa que se cumple la mas especifica..

En tu caso, "listado-2.html" al ir pasando las reglas, el htaccess ve que cumple con "(.*)\.html", y redirecciona a listado-2.php, y ya no ve que tambien cumple con "listado-([0-9]+)\.html"

Si son patrones exclusivos no hay problema con el orden, pero cuando una regla A es un caso mas especifico de otra regla B, la regla A debe colocarse antes.
  #5 (permalink)  
Antiguo 24/02/2010, 11:56
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 21 años, 9 meses
Puntos: 7
Respuesta: Problema con url amigable

Muy claro.

Muchas gracias!!

Un abrazo.
__________________
www.awdesarrollos.com.ar - [twitter: @armandoweb] - [Skype: awdesarrollos"]
  #6 (permalink)  
Antiguo 24/02/2010, 13:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Tema movido desde PHP a Apache

Etiquetas: url, amigables
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 10:52.