
As Url´s Amigáveis, como simpaticamente chamam a técnica de Rewrite, viraram rapidamente o atrativo da bolha web 2.0 pelo fato de atrair mais usuários e ainda dar mais relevância ao seu conteúdo, mais o que tem de legal nisso tudo ?
http://www.site.com.br/index.php?artigo=25&cat=amor&dia=10
Você pode conseguir:
http://www.site.com.br/index/artigo/25/cat/amor/dia/10/
http://www.site.com.br/artigo/amor/dia/10/
http://www.site.com.br/Site-25-amor-10.htm
ou seja, cerveja (piada mal posicionada), você poderá manipular da forma que achar melhor a sua URL, mais qual o objetivo ?
Além de tornar mais “amigável” ao usuário isso facilita muito nos motores de busca, e normalmente um link desses atrai sempre mais visitantes.
Ao que interessa então:
mod_rewrite, como diz o nome re-write, reescrever, este modulo convete uma url em qualquer formato em um formato pré programado por voce.
Etapa 1 - Configuração
Verifique dentro do seu httpd.conf por:
LoadModule rewrite_module modules/mod_rewrite.so
AddModule mod_rewrite.c
Se os mesmos estiverem comentados (# na frente), descomente ambos (retire o #) e reinicie o apache.
No caso do Debian 4 Etch, as linhas em questão deverão estar em mods-avaliable/rewrite.load e ou .conf e veja se o link simbolico está criado em mods-enabled/ se não estiver criado basta criando então.
ln -s origem destino
Etapa 2 - Arquivo .htaccess
Nesta etapa deve-se criar o arquivo .htaccess (ex: touch .htaccess) se o mesmo já existir, apenas verifique as permissões dele de leitura e escrita
É interessante setar como grupo e usuario do arquivo os dados utilizados pelo apache,
Ex: chown www-data.www-data .htaccess (no caso de www-data ser o utilizado pelo seu apache)
Obs: O arquivo deverá ser criado ou deverá existir no mesmo local que foi definido no apache o DocumentRoot (diretório principal)
Etapa 3 - Criando sua Url Amigável
Passo a passo agora, a minha url em questão é:
http://www.site.com.br/index.php?artigo=25&cat=amor&dia=10
Agora sim, vamos editar o .htacess com seu editor preferido e inserir:
Options +FollowSymLinks
RewriteEngine on
RewriteRule Teste(.*)-(.*)-(.*)\.htm$ /index.php?artigo=$1&cat=$2&dia=$3
Complexo ? nada é até simples demais, vamos decompor:
Options +FollowSymLinks: A opção FollowSymLinks ativada determina que o Apache deverá solicitar o arquivo real do link simbolico que será criado, sem isso resultaria em um erro 505 (em alguns casos sem essa opção funciona mesmo assim pois não foi necessário a criação de links simbolicos).
RewriteEngine on: Ativa a engine (motor) do rewrite.
RewriteRule Site-(.*)-(.*)-(.*)\.htm$ : Esta parte é o fundamento do Rewrite, é a criação da regra que será utilizada na montagem da nova URL, nessa sentença podemos traduzir que a nova URL será montada da seguinte forma: Site-1-2-3.htm sendo 1,2,3 parametros de $ definido ao final, mais quem são esses parametros ? espera p****.
/index.php?artigo=$1&cat=$2&dia=$3 : Está parte trabalha em cima da nossa URL original, repare que a URL está sendo decomposta em parametros $1, $2, $3, isso mesmo, os mesmos que serão substituidos na abordagem anterior, simples demais, ah você quer colocar o dia como sendo paramêtro ? /index.php?artigo=$1&cat=$2&$3=$4 , resolvido basta agora alterar na URL de saída.
Finalizando, tudo isso irá gerar a URL
http://www.site.com.br/Site-25-amor-10.htm a partir de
http://www.site.com.br/index.php?artigo=25&cat=amor&dia=10
Isso é só o começo, da pra brincar muito no .htaccess e ainda tem muitos links legais por ai, confiram:
Gerador de .htaccess
Manual do mod_rewrite
Obs: é .htaccess e não .htacess
[...] Existem maneiras de evitar isso, “sobreescrevendo” por URIs mais amigáveis tanto para os mecanismos de busca, quanto para as pessoas guardarem. Existe material bem extenso sobre esta questão. Quem quiser, pode começar os estudos no nodesign, no artigo Apache, mod_rewrite e URL Amigável. [...]
ficou show
http://www.opiadeiro.com/06138bc5af6023646ede0e1f7c1eac75-Loira_Revoltada.htm
brigadao