Gunfree.info / 50 artigos / 58 comentários / artigos / comentários

Mod Rewrite - Como usar

Um dos conceitos mais falados no momento é o de endereço amigável. Mas o que seria isso? Bom, é a aplicação prática da manipulação de URLs do Apache (hoje existe para o IIS também).

Ok, sei que muitos não entenderam o que estou falando, então vejam os exemplos.

Ao invés de http://www.exemplo.com.br/index.php?loja=esportes&categoria=futebol&time=flamengo, podemos exibir http://www.exemplo.com.br/loja/esportes/futebol/flamengo.htm.

Visualmente, muito melhor, não é? Pois é, mas as vantagens não param por aí, porque além da amigabilidade, os motores de busca indexam com mais eficácia o nome do site e seu conteúdo.

Como fazer? Simples, siga as instruções abaixo:

Configurando no Apache

Atenção! Se você usa uma hospedagem compartilhada, consulte seu provedor.

  1. Abra o arquivo httpd.conf e localize as linhas abaixo e as descomente:#LoadModule rewrite_module modules/mod_rewrite.so
    #AddModule mod_rewrite.c
  2. Reinicie o Apache:apachectl -k restart

Criando o arquivo .htaccess

  1. Crie na raíz do diretório, um arquivo .htaccesstouch .htaccess
  2. Se possível, habilite neste .htaccess o grupo e usuário do Apachechown apache.apache .htaccess

Criando as regras de Rewrite

  1. Visualize que regra é desejada. Eu vou usar meu exemplo introdutório que é alterar http://www.exemplo.com.br/index.php?loja=esportes&categoria=futebol&time=flamengo por http://www.exemplo.com.br/loja/esportes/futebol/flamengo.htm
  2. Edite o .htaccess incluindo:Options +FollowSymLinks
    RewriteEngine on
    RewriteRule loja/(.*)/(.*)/(.*)\.htm$ /index.php?loja=$1&categoria=$2&time=$3

Bom, parece um pouco complicado a primeira vista, mas a prática é esta mesmo. Não é nenhum tipo de mágica dos Gênios que usam Linux as URLs bonitinhas vistas por aí. Explicando parte a parte:

Espero que mais uma vez eu tenha desmistificado algo “complexo”.

6 comentários

  1. Mauro Garcia — 19/06/2008 #

    Fala brother, pagina bem bacana com otimos tutos… Agora me diz uma coisa, voçe diz que da para faser no IIS o rewrite… Mas nao comentou como… Tem ideia de como se fas?

  2. Gunfree — 20/06/2008 #

    Mauro,

    Existem várias soluções. Não vou recomendar nenhuma, porque nunca fiz isso no IIS. Mas dê uma olhada em alguns e é claro pesquise e teste bastante antes de usar em produção.

    http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1469
    http://www.download.com/IIS-Mod-Rewrite-Pro/3000-2165_4-10684743.html
    http://www.isapirewrite.com/
    http://www.qwerksoft.com/products/iisrewrite/

  3. Mauro Garcia — 21/06/2008 #

    Valeu meu camarada, voçe tem mas dica de rewrite? To precisando upar um site mais nao to sabendo faise o foriward… Pode ajuda?

  4. Gunfree — 22/06/2008 #

    Fala Mauro!

    Bom, creio que você vai precisar me dar maiores informações sobre o Forward que você deseja. E por favor, eu não quero ser chato publicamente, mas tenha um pouco mais de atenção em sua escrita, pois ela pode te atrapalhar um bocado no futuro.

  5. Rofasa — 17/11/2008 #

    Gunfree, estou pesquisando sobre o Rewrite e acabei achando este artigo… Bem não saco nada sobre este assunto, mas pelo que vi é bastante simples de configurar.

    Ah, a propósito, nunca vi alguém ser tão educado, pelo menos na Net, para sugerir mais atenção na digitação afim de evitar situações constrangedoras… Sua observação foi ótima. Valeu!!!

  6. Gunfree — 21/11/2008 #

    Rofasa,

    Muito obrigado pelos elogios. E sim, O rewrite é algo muito simples que tem uma fama monstruosa de ser difícil de usar. Se precisar, já sabe. Dê uma passada por aqui que tentarei te ajudar.

    []’s
    Gunfree

Deixe um comentário