Hola,
Tengo un problema con .htaccess y no he podido dar con una solución simple, sólo algunos arreglos carreteros para un problema que debería ser simple...
Tengo el siguiente redireccionamiento:
Code:
RewriteRule ^pantalon /~misitio/index.php?i=pantalon [L,NC]
Funciona bien a primera vista, pero hace algo que no debería, pues resulta que no está considerando a "pantalon" como un directorio, si pongo "pantalonazul" me redirecciona igual e ignora "azul", sólo toma la palabra inicial.
Probé con:
Code:
RewriteRule ^pantalon$ /~misitio/index.php?i=pantalon [L,NC]
Y ahí si considera sólo la palabra "pantalon", pero aún no lo toma como directorio. Si alguien escribe
www.misitio.com/pantalon/ manda error.
Lo que necesito es que sea considerado un directorio al momento de la redirección. Si escribo por ejemplo,
www.misitio.com/contacto (que es un directorio real), el navegador automáticamente agrega el "/" al final (
www.misitio.com/contacto/).
El problema es que al no considerar a "pantalon" como directorio todos los enlaces e imágenes que no tengan la url absoluta quedan mal redireccionados.
Ahora, también probé con:
Code:
RewriteRule ^pantalon/$ /~misitio/index.php?i=pantalon [L,NC]
Pero qué pasa si alguien olvida poner el "/" al final ¿no debería generarlo automáticamente el navegador? Eso no pasa, y no sé porqué.
Saludos!
----
Encontré la solución!!
Code:
RewriteRule ^(([a-z0-9\-]+/)*[a-z0-9\-]+)$ /$1/ [NC,R=301,L]
Agrega el / final a toda URL que no termine en punto algo. Excelente, es justo lo que buscaba.
Saludos!