27/04/2009, 18:07
|
| | Fecha de Ingreso: julio-2008
Mensajes: 85
Antigüedad: 16 años, 4 meses Puntos: 2 | |
Respuesta: ayuda con htaccess No es posible, debido al funcionamiento del mod_rewrite.
Te explico:
Cuando encuentra una regla, si esta incluye el flag "L", termina de hacer comparaciones.
Sin embargo, internamente genera una nueva petición, con la nueva dirección(la reescrita), y es evaluada contra las reglas de nuevo.
Es decir...
· mi-categoria-1 es transformada a index.php?categoria=1
· se genera una nueva petición "interna"
· index.php?categoria=1 coincide con tus reglas, y es reescrita a mi-categoria-1
· se genera una nueva petición, con la dirección mi-categoria-1, y vuelta a empezar.
En el caso de tu ejemplo el comportamiento es similar.
Si la dirección que usan es mi-categoria-1, se reescribe internamente a index.php?categoria=1, luego es reevaluada, y se le manda al usuario la redirección 302... y vuelta a empezar.
Hay una solución sin embargo. Y es hacer una de las dos redirecciones mediante PHP.
Otra posibilidad es comparar el REFERRER, si es de la misma categoria pero en la forma inversa ignorarlo... sin embargo los navegadores que lo traigan desactivado entrarían en el bucle igual.
Aunque no sé si funcionaría esta última... no he probado.
Última edición por LoveMeNot; 27/04/2009 a las 18:12 |