domingo, 20 de março de 2011

Passar query strings para url com rewrite ativado.

Esses dias estava pesquisando como passar mais de uma query string numa url amigável que já tinha um rewrite_mod nela.

Não sabe o que é URL amigável?
Aprenda aqui: http://blog.thiagobelem.net/aprendendo-urls-amigaveis/

Antes usava:
RewriteRule ^produto/([a-z0-9-_]+)/?$ produto_exibe.php?link=$1 [NC]

O que funcionava perfeitamente em:
www.site.com.br/produto/nome-do-produto/

Só que o problema surgiu quando quis passar uma query junto com a url:
www.site.com.br/produto/nome-do-produto/?from=main

Aí descobrir que é só tirar o símbolo de $ que significava que a URL tinha terminado ali, e adicionar uma flag 'QSA', que acho que seria Query Strings Automáticas. (algo assim)
Aí fica:
RewriteRule ^produto/(.*)/? produto_exibe.php?link=$1 [NC,QSA]

Fica aí a dica...

2 comentários:

  1. Grande dica! Obrigado por complementar meu artigo. :)

    ResponderExcluir
  2. Isso é muito útil para quando for usar um formulário de busca.

    Valeu pelo post. Abs

    ResponderExcluir