Mudanças entre as edições de "URL Amigável ou Mod Rewrite"

De Wiki Integrator do Brasil
Ir para: navegação, pesquisa
(Criou página com ''''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 par...')

Edição das 17h56min de 25 de setembro de 2014

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: Sem experiência, procure estudar para entender o que pretende fazer ou , sempre que possível, buscar ajuda de profissional qualificado experiente para instruí-lo em como resolver a questão do seu programa. O suporte da Integrator por ser hospedagem, em momento algum será responsável por tal ajuda de desenvolvimento comportamental particular e nem resolução das conseqüências de configurações erradas que obtiver.