URL Amigável no Apache + PHP
by Claudney on jan.21, 2009, under Dicas, PHP
URL amigável como o próprio nome diz, e uma forma de mostrar ao usuário uma forma mais intendível de quardar um link ou até mesmo memorizar alguma página.
Exemplos:
http://xxx.com.br/blog/blog1.php?title=caixa&more=1&c=1&tb=1&pb=1
http://www.xxxxx.com/forum/viewtopic.php?f=2&t=174&sid=769f93ca5ed4f8deedb1a63cbe0512af
Podem ser transformadas em:
http://xxx.com.br/caixa-magica-1-1
http://www.xxxxx.com/forum/com-utilizar-url-amigavel
Com isso pode aumentar a relevancia do conteudo para buscas em sites como o Google e Yahoo através dos SEO (Search Engine Optimization). Em português ele é conhecido como Otimização de Sites.
Então, vamos por a mão na massa e ver como podemos desfrutar desses recursos, se você ainda nao entendeu o que são as URL amigaveis acesse o link do wikpedia aqui.
Para testes foi utilizando o servidor http Apache 2 + PHP 5.2.6.
Vamos começar pelo httpd.com adicioando as seguintes linhas no final do arquivo
LoadModule rewrite_module modules/mod_rewrite.so
AddModule mod_rewrite.c
Em seguida vamos para o .htaccess
Geralmente fica localizado no Document Root do servidor caso ele não exista basta cria-lo, e acionar as configurações abaixo:
Options +FollowSymLinks
RewriteEngine on
RewriteRule noticia-(.*)-(.*)-(.*)\.htm$ /index.php?noticia=$1&titulo=$2&qualquer=$3
A opção Options +FollowSymLinks faz com que o servidor web faça a requisição do arquivo real no servidor , caso ele não exista será criado um link simbolico para ele para que não gere o erro 505.
A segunda opção ativa o grande segredo que é o MOD_REWRITE.
A terceira e última opção e o que monta a sua url amigavel cada um dos $ indicam os parametros que serao passados para a nova url exemplo:
http://xxx.com.br/?index.php?noticia=caixa&titulo=magica&qualquer=1 ficaria como http://xxx.com.br/noticia-caixa-magica-1.
Executando os procedimentos acima corretamente é só divertir, e esperar que suas visitas aumentem.
Mais informações sobre o MOD_REWRITE acesse o site do projeto Apache HTTP: http://wiki.apache.org/httpd/Rewrite

maio 6th, 2010 on 23:24
meu servidor simplesmente nao funciona
tenho o apache instalado em meu pc e nao pega
d jeito nenhum
maio 12th, 2010 on 22:44
primeiro passo é ver se no seu arquivo httpd.conf do apache esta carregando o módulo mod_rewrite.so, se estiver carregando verifique se a diretiva AllowOverride esta como All.