> Manuales > Editar htaccess para crear direcciones URL amigables

Utilizando en .htaccess el símbolo $ al final de un patrón indicamos que la URL debe acabar en ese punto.

Siguiendo con los comentarios y consejos del manual de .htaccess, hay que comentar el uso del carácter $ en los patrones, para especificar el final de una URL.

Para explicarlo mejor vamos a ver un ejemplo.

Veamos esta regla de .htaccess

RewriteRule ^articulos/(.+)\.html codigo/muestra_articulo_htaccess.php?id=$1

Esta regla dice que todas las URL como estas:

www.dominio.com/articulos/x.html
www.dominio.com/articulos/yyy.html

Serán procesadas con el archivo:

www.dominio.com/codigo/muestra_articulo_htaccess.php?id=x
www.dominio.com/codigo/muestra_articulo_htaccess.php?id=y

Pero el tema es que este patrón de htaccess también casa con otras url como estas:

www.dominio.com/articulos/x.htmlkk
www.dominio.com/articulos/x.html-loquesea

Esto es porque el patrón coincide, porque corresponde con la regla. Es decir la regla dice que empieza la URL de después del dominio por "articulos/" + cualquier conjunto de caracteres + ".html".

Tendríamos que especificar de alguna forma que la URL debe terminar en ".html" y nada más y para eso podemos utilizar "$" al final de la regla.

Ahora esta otra regla .htaccess más completa

RewriteRule ^articulos/(.+)\.html$ codigo/muestra_articulo_htaccess.php?id=$1

En este caso hemos indicado con el "$" después de \.html que la URL debe finalizar ahí.

Algo como esto sí que concordaría la regla htaccess:

www.dominio.com/articulos/algo.html

Pero esto no se procesaría por el .htaccess, porque no acaba en .html:
www.dominio.com/articulos/algo.htmlkk

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online Escu...

Manual