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

Coincidencia de 2 reglas en el .htaccess

Estas en el tema de Coincidencia de 2 reglas en el .htaccess en el foro de Apache en Foros del Web. Hola, buenas tardes... Hace mucho que no preguntaba algo, pero llegó el momento. Resulta que en mi .htaccess tengo estas dos instrucciones: RewriteRule ^usuario/index.htm$ url/index.htm ...
  #1 (permalink)  
Antiguo 23/11/2011, 14:52
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 2 meses
Puntos: 3
Coincidencia de 2 reglas en el .htaccess

Hola, buenas tardes...
Hace mucho que no preguntaba algo, pero llegó el momento.

Resulta que en mi .htaccess tengo estas dos instrucciones:

RewriteRule ^usuario/index.htm$ url/index.htm [NC,L]
RewriteRule ^(.*)/index.htm$ ejemplo/index.htm [NC,L]

Entonces, si ingreso a:
www.misitio.com/prueba/index.htm .... lo hace OK (tomando la segunda regla).

Pero si ingreso a:
www.misitio.com/usuario/index.htm ... lo hace mal, es como que se queda en la segunda regla y no hace un stop en la primera, aún teniendo la letra [L].

Alguna idea ??
Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 24/11/2011, 04:56
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 12 años, 7 meses
Puntos: 140
Respuesta: Coincidencia de 2 reglas en el .htaccess

Hola! el problema, creo, es que url que obtienes, url/index.htm, una vez "transformada", no continúa gracias a la L, pero las url creadas vuelven a "pasar" por el htaccess y entonces sí, cumple la segunda regla...
Soluciones: poner por ejemplo de usuario/index.htm$ a url/index.html (entonces ya no cumplirá la segunda regla).
Diría que hay otras opciones como restringir directorios o cosas así, pero ahí ya no te puedo ayudar...
  #3 (permalink)  
Antiguo 24/11/2011, 18:06
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 2 meses
Puntos: 3
Respuesta: Coincidencia de 2 reglas en el .htaccess

Gracias charlyalegret,
Entonces por el momento no me queda otra solución que modificar la URL amigable, no ??

Si alguien sabe otra solución sin necesidad de hacer esto, se lo agradecería.

Saludos
  #4 (permalink)  
Antiguo 11/01/2012, 09:51
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 2 meses
Puntos: 3
Respuesta: Coincidencia de 2 reglas en el .htaccess

Hola,

Retomando un tema que comenzé hace dos meses, me surgió la duda entonces cuando es que la letra [L] hace un stop....

Porque al no poder hacer esto, no entiendo cuando conviene usar la letra [L].
  #5 (permalink)  
Antiguo 11/01/2012, 10:11
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 12 años, 7 meses
Puntos: 140
Respuesta: Coincidencia de 2 reglas en el .htaccess

Hola de nuevo!
A mí también me pareció confuso, pero se da lo siguiente...:

- imagina que tienes las siguientes reglas.

1a. convierte A/todo.html en C.php?id=todo [L]
2a. convierte todo.html a D.php?id=todo

Para qué sirve la L? si tu escribes A/B.html, cumplirá la regla 1 y la 2. Pero tu le dices que no, que si cumple la 1, que se pare ahí. ¿qué pasa si no pones la L? Pues ni idea. Quizá para ganar tiempo y que no tenga que recorrer toda la lista siempre, o alomejor por si quieres que cumpla 2 cosas (la verad, no se me ocurre ejemplo alguno). Yo por si acaso, la pongo siempre.

Otra cosa, es que una vez se ha hecho un cambio de url mediante rewriterule, la url obtenida vuelve a pasar por las reglas, y sólo cuando no se transforma, la interpreta el servidor.

Te lo explican con más detalle y ejemplos en: http://www.easymodrewrite.com/notes-last

Si investigas más, yo creo que lo que pedías inicialmente se puede resolver añadiendo alguna condición extra RewriteCond en la segunda regla, diciendo que la url no sea tipo /usuarios para que se cumpla, pero mis conocimientos de apache son escasos y no dan para tanto!

Suerte
  #6 (permalink)  
Antiguo 11/01/2012, 11:45
 
Fecha de Ingreso: febrero-2008
Mensajes: 578
Antigüedad: 16 años, 2 meses
Puntos: 3
Respuesta: Coincidencia de 2 reglas en el .htaccess

Gracias charlyalegret,

Más o menos pensamos lo mismo.
Estoy seguro que se puede, pero tampoco sabría exactamente como.

Voy a ver si alguna persona con mas conocimientos en este tema me puede ayudar.

Muchas gracias.

Etiquetas: htaccess, reglas, usuarios
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 15:41.