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

Dos rewriterules, solo se ejecuta una.

Estas en el tema de Dos rewriterules, solo se ejecuta una. en el foro de Apache en Foros del Web. Hola a todos, mi archivo .htaccess es el siguiente: Código: Options +FollowSymLinks RewriteEngine on RewriteRule ^(.+)/$ $1.php RewriteRule ^(.+)/categoria-(.+)/$ $1.php?cate=$2 Las paginas pueden ser perros/categoria-1/ ...
  #1 (permalink)  
Antiguo 14/08/2011, 15:28
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
[SOLUCIONADO] Dos rewriterules, solo se ejecuta una.

Hola a todos, mi archivo .htaccess es el siguiente:
Código:
Options +FollowSymLinks

RewriteEngine on
RewriteRule ^(.+)/$ $1.php
RewriteRule ^(.+)/categoria-(.+)/$ $1.php?cate=$2
Las paginas pueden ser perros/categoria-1/ o perros/
Solo ejecuta la primera regla, cuando pongo perros/categoria-1/ (corresponderia a la segunda linea) me salta un error 404.

Que ocurre?

Un saludo, gracias

Última edición por mariomon17; 15/08/2011 a las 20:47
  #2 (permalink)  
Antiguo 15/08/2011, 20:51
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 14 años, 5 meses
Puntos: 34
Respuesta: Dos rewriterules, solo se ejecuta una.

Encontre la solucion yo.
La posteo por si a alguien le surge el problema.

Cuando en la expresion regular utilizo (.+) el signo + significa que tiene que haber uno o mas caracteres. Por eso no eran evaluadas aquellas donde habia cero caracteres. La solucion fue utilizar * en vez de +.

La expresion quedaria asi:
Código:
Options +FollowSymLinks

RewriteEngine on
RewriteRule ^(.*)/$ $1.php
RewriteRule ^(.*)/categoria-(.*)/$ $1.php?cate=$2
Un saludo

Etiquetas: .htaccess, modrewrite, rewriterule
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 00:03.