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

De Wiki Integrator do Brasil
Ir para: navegação, pesquisa
Linha 2: Linha 2:
  
 
Por exemplo, digamos que seu site tenha um link chamado hospedagem, que é dinâmico, onde seu usuário acessaria ele da forma abaixo:<br />
 
Por exemplo, digamos que seu site tenha um link chamado hospedagem, que é dinâmico, onde seu usuário acessaria ele da forma abaixo:<br />
<nowiki>'''http://integrator.com.br/?p=2'''</nowiki>
+
<nowiki>http://integrator.com.br/?p=2</nowiki>
  
 
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:<br />
 
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:<br />
<nowiki>'''http://integrator.com.br/hospedagem'''</nowiki>
+
<nowiki>http://integrator.com.br/hospedagem</nowiki>
  
 
Internamente, o '''“?p=2”''' permanece existindo. Mas para seu usuário, o '''navegador/browser''' e os buscadores, é na realidade '''“hospedagem”'''.
 
Internamente, o '''“?p=2”''' permanece existindo. Mas para seu usuário, o '''navegador/browser''' e os buscadores, é na realidade '''“hospedagem”'''.
Linha 18: Linha 18:
  
 
E deseja deixar ao seu usuário visível:<br />
 
E deseja deixar ao seu usuário visível:<br />
<nowiki>'''http://integrator.com.br/hospedagem/plano-php-basico'''</nowiki>
+
<nowiki>http://integrator.com.br/hospedagem/plano-php-basico</nowiki>
  
 
Teria um '''.htaccess''' assim:
 
Teria um '''.htaccess''' assim:
Linha 29: Linha 29:
  
 
Já existem casos mais complexos, que precisam operar em Regex, por exemplo, digamos que a '''URL''' seja:<br />
 
Já existem casos mais complexos, que precisam operar em Regex, por exemplo, digamos que a '''URL''' seja:<br />
<nowiki>'''http://integrator.com.br/edit/host/1'''</nowiki>
+
<nowiki>http://integrator.com.br/edit/host/1</nowiki>
  
 
Temos que usar uma expressão regular assim:<br />
 
Temos que usar uma expressão regular assim:<br />

Edição das 22h01min de 29 de janeiro de 2016

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: 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.