El posicionamiento en buscadores y la progresiva imposición del ecosistema web en el día a día del software, ha obligado a todos los que desarrollamos aplicaciones en la nube, a cuidar la forma en que aparecen las URL, el producto de esta tendencia son los llamados pretty permalinks. Direcciones que identifican de forma unívoca a contenido y que además en lugar de tener parámetros, tienen una cadena entendible para los humanos.
¿En qué tecnología nos podemos apoyar para llevarlos a cabo? Podemos usar nuestro lenguaje del lado del servidor o directamente también podemos usar a nuestro servidor web. Explicaré en esta entrada cómo hacer enlaces permanentes vistosos usando Apache y .htaccess. Siempre hará falta conocer algo sobre expresiones regulares o patrones. El requisito técnico es que además del servidor web, tengas instalado mod_rewrite.
El ejemplo que vamos a desarrollar convertirá peticiones del tipo http://misitio.com/mipagina a http://misitio.com/mipagina.php, para que podáis tener:
¿Útil no?
Este es el código del fichero .htaccess:
Options +FollowSymLinks RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-f RewriteRule ^([a-z]+-?[a-z]+)/$ /$1.php
Y esta la explicación, vayamos por partes, nos interesa la última línea.
Veamos, la cabecera es RewriteRule y es el que indica que estamos en una regla para transformar peticiones que llegan al servidor.
La parte izquierda es la parte en la que tiene que encajar la petición. Se sigue como veis la lógica de todos los sistemas basados en reglas, parte izquierda desencadena y parte derecha acción que se desencadena.
¿Pero qué es en realidad lo que tenemos en la parte izquierda? Una expresión regular que indica:
Los símbolos ^ y $ identifican el comienzo y el final respectivamente de la expresión regular.
La parte derecha es la acción que se desencadena. Reconozco cadenas del estilo: http://misitio.com/sobre-mi y con lo que he detectado y almacenado en una variable (lo que hay en la expresión regular entre paréntesis), lo tengo en la parte derecha en la variable $1. Es decir, reescribiré la URL que me han enviado de esta forma:
Espero que te guste. Si tienes dudas o sugerencias, te esperamos en los comentarios.
https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.
Ver comentarios
Esto funciona en local?