Mais exemplos de regras .htaccess
No artigo anterior estivemos dando uma série de exemplos para a criação de expressões regulares que podemos utilizar em arquivos .htaccess. Vimos uma série de padrões simples e agora vamos continuar mostrando outros padrões, também simples, porém um pouco mais elaborados.
Antes de tudo, deve-se ler o artigo anterior, caso ainda não o tenham feito:
Padrões de expressões regulares para htaccess.
Exemplo 4 de regra htaccess
RewriteRule ^pratos/pais_([a-zA-Z_-]+).php$ codigo/pratos_pais.php?nome_pais=$1
Esta regra é similar à anterior, porém agora sim que estamos aceitando que alguns caracteres do nome do país venham em minúsculas. Por exemplo, aceita estas URLs:
www.meudominio.com/pratos/pais_Espanha.php
www.meudominio.com/pratos/pais_Reino-Unido.php
Que redirecionaria a URLs como estas:
www.meudominio.com/codigo/pratos_pais.php?nome_pais=Espanha
www.meudominio.com/codigo/pratos_pais.php?nome_pais=Reino-Unido
Exemplo 5 de regra htaccess
RewriteRule ^pratos/nome_([a-zA-Z0-9_-]+).php$ codigo/pratos_nome.php?nome=$1
Esta regla .htaccess complica ainda um pouco mais a regra anterior, com a possibilidade que também se coloquem números na expressão.
Redirecionará URLs como estas:
www.meudominio.com/pratos/nome_paella.php
www.meudominio.com/pratos/nome_PAELLA_2.php
www.meudominio.com/pratos/nome_paella-mariscos.php
www.meudominio.com/pratos/nome_Arroz3Delicias.php
Que enviará internamente o processamento dessas a estes endereços:
www.meudominio.com/codigo/pratos_nome.php?nome=paella
www.meudominio.com/codigo/pratos_nome.php?nome=PAELLA_2
www.meudominio.com/codigo/pratos_nome.php?nome=paella-mariscos
www.meudominio.com/codigo/pratos_nome.php?nome=Arroz3Delicias
Exemplo 6 de regra htaccess
Podemos repetir este esquema visto exemplo anterior as vezes que quisermos em URLs que tiverem uma série de diretórios, separados por barras. Será algo como isto:
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+).html$ codigo/maiscodigo/processamento.php?parametro1=$1¶metro2=$2¶metro3=$3
Isto aceita endereços que tenham três diretórios distintos, um atrás do outro, separado claro pelas barras. Os nomes dos diretórios aceitam números, letras maiúsculas e minúsculas e hífens médios e baixos.
Aceita endereços tão variados como estes:
www.meudominio.com/1/2/3.html
www.meudominio.com/oquefor/OUTRACOSA/122.html
www.meudominio.com/a_b_c_1/A-B-C-2/A-b_C_987.html
Internamente, htaccess processará essas regras e redirecionará a url como estas:
www.meudominio.com/codigo/maiscodigo/processamento.php?parametro1=1¶metro2=2¶metro3=3
www.meudominio.com/codigo/maiscodigo/processamento.php?parametro1=oquefor¶metro2=OUTRACOISA¶metro3=122
www.meudominio.com/codigo/maiscodigo/processamento.php?parametro1=a_b_c_1¶metro2=A-B-C-2¶metro3=A-b_C_987