Aprende a crear URLs amigables en Apache

11/12/2019 | Apache, General, PHP, SEO | 0 comentarios

Aprende a crear URLs amigables de forma sencilla utilizando expresiones regulares con el módulo mod_rewrite de Apache.

Descargar archivos Ver ejemplo

Para facilitar el posicionamiento de nuestras páginas en los buscadores se recomienda una estructura de URL sencilla, con palabras fáciles de leer y evitando números o parámetros poco entendibles. Este tipo de rutas son llamadas URLs amigables por que son fáciles de entender por los usuarios y los buscadores.

Ejemplo:

Al navegar entre categorías y sub-categorías de una tienda se pueden utilizar identificadores de la base de datos o utilizar keywords (palabras clave) como parámetros, pero la forma mas corta y sencilla es usar usar keywords estructurados como si fueran carpetas.

IDs:http://domain.com/products.php?category=3&subcategory=7
Keywords:http://domain.com/products.php?category=mens&subcategory=shoes
Amigable:http://domain.com/mens/shoes/

Como se observa la tercera forma es fácil de entender e incluso mas corta.

mod_rewrite

El módulo mod_rewrite del servidor web Apache es un motor que permite la creación de URLs amigable utilizando expresiones regulares para indentificar las rutas y luego definir que archivos internos los procesarán.

Para utilizar mod_rewrite es necesario crear un archivo llamado .htaccess y ubicarlo en la carpeta donde se encuentran nuestros archivos e incluir las reglas de acuerdo a nuestro proyecto.

Las directivas a utilizar para la creación de URLs amigables son:

  • RewriteEngine activa el módulo para la reescritura de URLs.
  • RewriteBase define la carpeta base donde se encuentran nuestros archivos.
  • RewriteRule describe las reglas para las rutas, tiene dos parámetros: el primero es la expresión regular para identificar a la ruta y la segunda es el archivo que ha de utilizarse en caso de coincidencia.

Creando las URLs Amigables

Entonces creamos un archivo .htaccess que contendrá el siguiente código:

Cómo se observa: la primera regla para detecta cuando hay dos niveles y la segunda cuando sólo hay un nivel, además notar que se utilizan las coincidencias ($1, $2) como parámetros en los archivos a utilizar.

Creando el archivo de ejemplo

Para completar el ejemplo, creamos un archivo PHP que obtenga e imprima los parámetros de las rutas creadas, con esto podemos comprobar que se están recibiendo los parámetros correctos.

Podemos comprobar que las siguientes rutas funcionan de la misma forma:

kodetop.com/demo/urls-amigables/products.php?category=mens&subcategory=shoes
kodetop.com/demo/urls-amigables/mens/shoes/

Referencias

Envíar Comentario

En este sitio los comentarios se publican previa aprobación del equipo de Kodetop. Evita los comentarios ofensivos, obscenos o publicitarios. Si deseas publicar código fuente puedes hacerlo entre las etiquedas <pre></pre>