Exemplo mais complexo de RewriteRule

Vemos um segundo caso de redirecionamento de URLs amigáveis a buscadores para URLs com passo de parâmetros.

Por Miguel Angel Alvarez - Tradução de JML


Publicado em: 08/4/08
Valorize este artigo:
No anterior capítulo vimos como trasladar com RewriteRule parte de uma URL estática a uma URL com passo de parâmetros. Para isso definíamos no padrão um agrupamento com (+.) e logo a utilizávamos com $1 na URL redirecionada com passo de parâmetros. Ver o anterior artigo para mais informação.

Em algumas ocasiões não basta com enviar um parâmetro para que a página receba todos os dados que necessita para mostrar os conteúdos específicos.
Se na expressão regular tivéssemos outros (+.) então na url_destino teríamos que utilizar $1 para o primeiro (+.) que houver na expressão regular e $2 para o segundo, $3 para o terceiro e assim sucessivamente.

Por exemplo, aqui podemos ver uma instrução RewriteRule que utiliza duas partes com (+.) para fazer o padrão.

RewriteRule ^agenda/(.+)/(.+)\.html codigo/hora.php?mes=$2&ano=$1

Esta expressão regular quer dizer: Qualquer URL que comece por "agenda/", seguida de qualquer coisa, logo uma barra e qualquer outra coisa, acabado em ".html" (observar a contrabarra antes de ".html" que é um caractere de escape para indicar que o "." de antes de "html" é um ponto, em lugar do código especial que costuma significar qualquer caractere. Ver o artigo anterior para mais explicações sobre as expressões regulares deste estilo.

Como se pode ver, os endereços estáticos amigáveis a buscadores não têm porquê finalizar em .php. Neste caso finaliza em .html, porém poderia acabar de qualquer outra forma, como .htm, .php3, .shtml ou em um diretório.

No caso do exemplo anterior, um endereço com esta forma:

www.dominio.com/agenda/2007/8

Fará corresponder com uma url_destino assim:

www.dominio.com/codigo/hora.php?mes=7&ano=2007

Embora também poderiam ter concordado outros modelos de endereços como:

www.dominio.com/agenda/05/01
www.dominio.com/agenda/2006/abril

Será nossa responsabilidade fazer o tratamento para que só as URL que queremos mostrem a página correta. Veremos no próximo capítulo como fazer este tratamento de possíveis erros e como resolver outros possíveis problemas do uso do htaccess.





Comentários do artigo
Foi enviado 1 comentário ao artigo
1 comentário não revisado
0 comentários revisados

Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato