Passando parâmetros através de URLs amigáveis

  1. O que é passagem de parâmetro?

A passagem de parâmetro é um método utilizado sempre que precisamos passar valores para outra página sem necessariamente armazenar esses valores. No caso específico do PHP, os principais métodos são GET e POST. Nesse artigo vou me focar na passagem de parâmetros via GET.

  1. Como é realizada a passagem de parâmetro via GET no PHP?

No PHP, para realizarmos a passagem de paramêtros via GET utilizamos o sinal ?. Então, por exemplo, quando desejamos que ao clicar em um produto seja repassada a ID desse produto para outra página fazemos da seguinte maneira:

<a href = ”pagina2.php?id=2>Produto X </a>

Quando é necessário repassar mais de uma informação utilizamos o sinal & (em alguns casos o W3C costuma não validar o código quando utilizamos o caracter &, para resolver esse problema utilizamos &amp;).

<a href = ”pagina2.php?id=2&categoria=categoriax”> Produto X </a>

<a href = ”pagina2.php?id=2&amp;categoria=categoriax”> Produto X </a>
  1. Dificuldade de indexação pelos mecanismos de busca

Apesar da grande importância da passagem de parâmetros para a programação web, devido à grande extensão da URL e dos diversos caracteres especiais envolvidos em sua construção, isso pode se tornar um dificultador quando o assunto é indexação da página pelos mecanismos de busca.

Visando realizar uma passagem de parâmetros correta e com uma boa indexação pelos mecanismos de busca é necessário tratar a URL que irá receber os parâmetros. Com esse fim, trabalharemos com URL amigáveis.

  1. Exemplo prático

Uma loja de sapatos exibe seus produtos na página inicial com apenas a foto e o título do produto com um link. A ideia é que o cliente ao clicar nesse link seja direcionado aos detalhes daquele produto. Veremos agora como podemos fazer isso com passagem de parâmetros via GET e URL amigável.

4.1 Verificar se a extensão rewrite_module está habilidada

Antes de iniciar o processo de construção de parâmetros com URLs amigáveis, é necessário verificar no seu servidor se a extensão rewrite_module está habilidada, pois é ela que permite fazer alterações de URL em nosso website.

Para isso, devemos localizar o arquivo httpd.conf na pasta do Apache do nosso ambiente.

Dentro do arquivo, procuramos por rewrite_module e tiramos a # do início da linha. Após isso, reinicie seu servidor e ele já estará apto para trabalhar com URLs amigáveis.

4.2 No HTML

Criaremos duas divs simples, uma com a foto do produto e outro com título do produto com um link para página de detalhes.

<div><img src='sapato.jpg' alt='sapato'></div>
 <div><a href="p/1/mocacin">Sapato SanMarino</a></div>

4.3 Criando o arquivo .htaccess

O arquivo .htaccess é o responsável pela reescrita da URL transformando um código extenso em um código amigável.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^index2-([0-9]+)-(.*)$ index2.php?id=$1&amp;titulo=$2

Linha 1 abrimos a nossa rescrita de URL.

Linha 2 e 3 são as condições de arquivo (f) e diretório (d)

Linha 4 é propriamente nossa regra de reescrita. Eu estou configurando para que a página: index2.php?id=$1&titulo=$2 seja reescrita da seguinte forma index2 – valor da minha ID – valor da categoria.

4.4 No PHP

Criaremos a página index2.php que receberá os parâmetros.

 $id=$_GET[‘id’];

$categoria=$_GET[‘categoria’];

echo “esse produto tem ID” . $id.” e categoria” . $categoria;
  1. Conclusão

A passagem de parâmetros é fundamental em diversos sistemas web. Para que ele funcione corretamente e seja bem visto pelos motores de busca é necessário tratar a URL proveniente da passagem de parâmetro GET.


 

 

Thiago Boaventura é o criador desse post.

É Técnico em Informática pelo Cotemig/MG desde 2007. Atua como Webdesigner em Divinópolis/MG. É editor do site Webdesign em Foco (http://www.webdesignemfoco.com)

 

Compartilhe com os amigos
  • Digg
  • StumbleUpon
  • Print
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks
  • email
  • Google Buzz
  • LinkedIn
  • Live
  • MSN Reporter
  • Orkut
  • PDF
  • Reddit
  • Tumblr
Publicidade

1 comentário

  1. Rodrigo disse:

    Sem dúvida, tornar a URL amigável dá um retorno não só para que o usuário compartilhe nosso sistema, mas também para mecanismos de busca. Excelente artigo!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *