Url amigables htaccess

URL amigables: qué son y cómo crearlas con el archivo .htaccess

htaccess es un archivo de configuración de Apache, el más popular de los servidores web, que se encuentra en la mayoría de los espacios de alojamiento web. De modo general, este archivo es capaz de alterar la configuración del servidor web, aplicando esos cambios al directorio donde el .htaccess esté situado y todos los directorios que dependen de él.

En la práctica, este fichero se usa para muchas cosas como, por ejemplo, proteger una carpeta por clave, activar la compresión de los ficheros que se transfieren, etc. En este artículo, profundizamos en uno de los mejores usos que le podemos destinar: la creación de URL amigables.

Qué es una URL amigable

Las URL amigables (o URL semántica) son básicamente direcciones de páginas que son más fáciles de escribir, recordar y, sobre todo, que Google interpreta con mayor relevancia.

Vamos a verlo con este ejemplo, podríamos tener una URL como: example.com/tienda.php?productos=zapatillas&categoria=playa, pero es poco atractiva para buscadores y usuarios, aparte que muestra nuestra programación. Sería mucho mejor una URL como esta: example.com/productos/zapatillas/playa.

Es una dirección más concisa y que se centra en lo que realmente importa, sin mostrar el contenido de las variables que se usan a nivel de programación.

Cómo crear URL amigables con el archivo .htaccess

Esta tarea básicamente se trata de configurar un sistema de redirecciones para que, de la URL amigable, internamente y de manera transparente para el usuario, se transfiera la solicitud a la página real que la va a servir. Es decir: es como una traducción de la URL amigable a la URL no amigable.

Lo haremos, como decíamos, gracias a .htaccess, que es un archivo de texto plano que tendremos que editar con comandos .htaccess. Aunque primero tendremos que crear ese archivo y guardarlo generalmente en la carpeta raíz del dominio.

Para comenzar, debemos indicar que se ponga en marcha el motor de reescritura de URL con esta línea:

RewriteEngine on

Luego, tenemos que generar las redirecciones con la instrucción RewriteRule, indicando primero el patrón de la URL amigable y la redirección que se debe producir. Dicho patrón se debe colocar como una expresión regular y, a continuación, colocamos la URL a la que se debe redirigir la solicitud.

RewriteRule ^productos/([a-zA-Z]+)/([a-zA-Z]+)$ tienda.php?productos=$1&categoria=$2

Para explicar esta regla, la vamos a descomponer:

  • «^» es el inicio de una expresión regular para definir el patrón de URL amigable
  • «productos/» es una serie de caracteres que figurarán en toda URL que se desee redirigir.
  • «([a-zA-Z]+)» eso es una expresión regular que dice que habrá una o más repeticiones de letras, minúsculas o mayúsculas
  • «/» hay un separador de barra entre las dos repeticiones
  • «([a-zA-Z]+)» vuelve a figurar el patrón de repeticiones de letras.
  • «$» es el final del patrón.

A partir de ahí, encontramos la URL a la que redirigimos la solicitud y que estará en el archivo tienda.php, enviándole como parámetros «productos» y «categoria».

  • $1 corresponde con el primer patrón «([a-zA-Z]+)»
  • $2 con el segundo, tal como están indicados en la expresión regular

Ejemplo de URL amigable con el archivo .htaccess

Este sería otro ejemplo completo de modificación del archivo .htaccess que puede ayudarnos a crear URL amigables para distintos productos:

# Activar RewriteEngine
RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
#   Reescribir la URL solicitada por el usuario
#   Home
RewriteRule ^inicio$ /index.php [L]
#   Producto
#   Entrada: producto/NOMBRE_PRODUCTO/
#   Salida: productos.php?id=NOMBRE_PRODUCTO
RewriteRule ^producto/(.*)$  /productos.php?id=$1 [L]

La verdad es que el .htaccess para el tema de redirecciones da para mucho más de lo que hemos visto, pero con esto nos podemos hacer una idea muy buena de cómo funciona y seguro que tendremos en la cabeza ideas frescas que implementar en nuestros sitios alojados en el servidor web Apache.

Si estás interesado en el tema, también puedes consultar los artículos Redirección 301 con htaccess o Configuración de directorios con .htaccess.

Conclusiones sobre URL amigables

Las URL amigables son clave a la hora de optimizar nuestro sitio para los motores de búsqueda, además de mejorar la experiencia del usuario. Si, tras crear una página web o una tienda online, tus direcciones son claras y fáciles, vas a mejorar la comprensión de tu contenido a la vez que ayudas a su indexación y clasificación dentro de los resultados de Google, lo que se traducirá en una mejora del posicionamiento SEO.

Por otro lado, es importante destacar la relación con dominios y hosting web para la creación de una web y su posterior mantenimiento. Cuando registras un dominio, obtienes una dirección única en Internet y, al asociarlo con un hosting, podrás almacenar el contenido de tu sitio dentro de un servidor. Por ello, es importante que sean confiables y que estén bien configurados para que todo funcione sin problemas.

Finalmente, te recomendamos que realices una monitorización de todas tus URL a través de herramientas como Google Search Console para asegurar el buen estado de tu página web.

La copia de seguridad que necesitas para tus dispositivos, tus proyectos y tus datos
Accede a tus archivos desde cualquier dispositivo y lugar de forma segura
pack
10 GB
Gratis
Consigue tu backup ahora