URL Amigável ou Mod Rewrite

De Wiki Integrator do Brasil
Ir para: navegação, pesquisa
Banner-wiki-promocoes.gif





Uma URL amigável ou, URLs Amigáveis, são a forma que os desenvolvedores usam para rescrever um endereço de site dinâmico, geralmente em PHP, da forma original para uma mais “amigável” a leitura, tanto para o endereço no navegador, como para os buscadores como o Google.

Por exemplo, digamos que seu site tenha um link chamado hospedagem, que é dinâmico, onde seu usuário acessaria ele da forma abaixo:
http://integrator.com.br/?p=2

Mas os usuários podem ter dificuldade em lembrar o endereço todo de uma vez, ou até mesmo memorizar na barra de endereço qual número é a página que desejam ver. Com o intuito de facilitar, você modifica o comportamento para que seja visível assim:
http://integrator.com.br/hospedagem

Internamente, o “?p=2” permanece existindo. Mas para seu usuário, o navegador/browser e os buscadores, é na realidade “hospedagem”.

A rescrita foi feita pelo servidor, usando recursos de diretrizes existentes no Apache através do .htaccess. Digamos que seja um “truque” que envolve:
1. Lógica de programação
2. Conhecimento de regex.

Exemplo:
Um site contendo o seguinte conteúdo:
http://integrator.com.br/hospedagem.php?plano=1

E deseja deixar ao seu usuário visível:
http://integrator.com.br/hospedagem/plano-php-basico

Teria um .htaccess assim:

RewriteEngine On
RewriteBase /
ErrorDocument 404 /404.php
RewriteRule ^hospedagem\/plano-php-basico$  /hospedagem.php?plano=1 [NC,L]


Já existem casos mais complexos, que precisam operar em Regex, por exemplo, digamos que a URL seja:
http://integrator.com.br/edit/host/1

Temos que usar uma expressão regular assim:

([a-z]+)\/([a-z]+)\/([0-9]+)

O arquivo em por trás desta URL, serial algo como:
http://integrator.com.br/sistema.php?act=$1&model=$2&id=$3

Onde cada $número é o número do grupo em sequência ao que foi analisado pela expressão regular.
Para entender melhor o trecho do .htaccess:

RewriteRule ^([a-z]+)\/([a-z]+)\/([0-9]+)$  sistema.php?act=$1&model=$2&id=$3 [NC,L]



IMPORTANTE: Recomendamos a busca por ajuda de profissional qualificado experiente neste assunto para instruí-lo em caso de desenvolvimento de regras exclusivas para seu site/aplicativo. O suporte de hospedagem da Integrator, em momento algum, será responsável por qualquer criação ou modificação de arquivo .htaccess de seu site.