> Manuales > Editar htaccess para crear direcciones URL amigables

Otra serie de ejemplos de reglas htaccess que pueden servir para crear fácilmente nuestros patrones de expresiones regulares.

En el artículo anterior estuvimos dando una serie de ejemplos para la creación de expresiones regulares que podemos utilizar en archivos .htaccess. Vimos una serie de patrones simples y ahora vamos a seguir mostrando otros patrones, también sencillos, pero un poco más elaborados.

Antes que nada, deberíamos leer el artículo anterior, si es que no lo hemos hecho ya: Patrones de expresiones regulares para htaccess.

Ejemplo 4 de regla htaccess

RewriteRule ^platos/pais_([a-zA-Z_-]+)\.php$ codigo/platos_pais.php?nombre_pais=$1

Esta regla es similar a la anterior, pero ahora sí que estamos aceptando que algunos caracteres del nombre del país vengan en mayúsculas. Por ejemplo, acepta estas URLs:

www.midominio.com/platos/pais_Espana.php
www.midominio.com/platos/pais_Reino-Unido.php

Que redirigiría a URLs como estas:

www.midominio.com/codigo/platos_pais.php?nombre_pais=Espana
www.midominio.com/codigo/platos_pais.php?nombre_pais=Reino-Unido

Ejemplo 5 de regla htaccess

RewriteRule ^platos/nombre_([a-zA-Z0-9_-]+)\.php$ codigo/platos_nombre.php?nombre=$1

Esta regla .htaccess complica todavía un poco más la regla anterior, con la posibilidad que también se pongan números en la expresión.

Redigirirá URLs como estas:

www.midominio.com/platos/nombre_paella.php
www.midominio.com/platos/nombre_PAELLA_2.php
www.midominio.com/platos/nombre_paella-mariscos.php
www.midominio.com/platos/nombre_Arroz3Delicias.php

Que enviará internamente el procesamiento de esas páginas a estas direcciones:

www.midominio.com/codigo/platos_nombre.php?nombre=paella
www.midominio.com/codigo/platos_nombre.php?nombre=PAELLA_2
www.midominio.com/codigo/platos_nombre.php?nombre=paella-mariscos
www.midominio.com/codigo/platos_nombre.php?nombre=Arroz3Delicias

Ejemplo 6 de regla htaccess

Este esquema visto en el anterior ejemplo lo podemos repetir las veces que queramos en URLs que tengan una serie de directorios, separados por barras. Será algo como esto:

RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)\.html$ codigo/mascodigo/procesamiento.php?parametro1=$1¶metro2=$2¶metro3=$3

Esto acepta direcciones que tengan tres directorios distintos, uno detrás de otro, separado claro está por las barras. Los nombres de los directorios aceptan números, letras mayúsculas y minúsculas y guiones medios y bajos.

Acepta direcciones tan variadas como estas:

www.midominio.com/1/2/3.html
www.midominio.com/loquesea/OTRACOSA/122.html
www.midominio.com/a_b_c_1/A-B-C-2/A-b_C_987.html

Internamente, htaccess procesará esas reglas y redirigirá a url como estas:

www.midominio.com/codigo/mascodigo/procesamiento.php?parametro1=1&parametro2=2&parametro3=3
www.midominio.com/codigo/mascodigo/procesamiento.php?parametro1=loquesea&parametro2=OTRACOSA&parametro3=122
www.midominio.com/codigo/mascodigo/procesamiento.php?parametro1=a_b_c_1&parametro2=A-B-C-2&parametro3=A-b_C_987

Miguel Angel Alvarez

Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...

Manual