nov 28, 2017 0

Criando URL Amigáveis com PHP e htacess

Atualmente com o SEO cada vez mais presente para mecanismos de busca e relevância de páginas, um ponto importante para otimização e também para uma melhor experiência do usuário é a chamada URL Amigável. Por exemplo, uma loja que exibe as informação de um produto teria uma URL assim:

A) http://www.minhaloja.com.br/produto.php?codigoProduto=1234 ou
B) http://www.minhaloja.com.br/produto.php?cod=produto-teste
C) http://www.minhaloja.com.br/categoria.php?categoria=27

Para os exemplos citados acima, eu poderia reescreve a URL da seguinte forma:

A) http://www.minhaloja.com.br/produto/1234
B) http://www.minhaloja.com.br/produto/produto-teste
C) http://www.minhaloja.com.br/categoria/acessorios

Além disso, essa técnica é útil para SEO para otimizarmos a palavra chave na URL. Dessa forma, uma URL comum seria:

D)http://www.meusite.com.br/pagina.php?page=375

Otimizada:

D) http://www.meusite.com.br/desenvolvimento-de-sistemas

Para tal, vou mostrar como fazer o apontamento no arquivo .htacess e posteriormente ler o parâmetro com PHP.

Primeiramente, verifique se a reescrita de URL está habilitada em seu servidor. Uma vez habilitada, devemos escrever a regra de redirecionamento no arquivo .htaccess, ficando dessa forma:

 

.htaccess

1
2
3
4
5
6
7
8
9
    RewriteEngine On
    #Exemplo A
    RewriteRule ^produto/([0-9]+)$ produto.php?codigoProduto=$1
    #Exemplo B
    RewriteRule ^produto/([A-Za-z]+)$ produto.php?cod=$1
    #Exemplo C
    RewriteRule ^categoria/([0-9A-Za-z]+)$ categoria.php?categoria=$1
    #Exemplo D
    RewriteRule ^([0-9A-Za-z]+)$ pagina.php?page=$1

Explicando o código, escrevemos a regra de reescrita começando com RewriteRule. Em seguida, utilizei expressões regulares para definir que tipos de caracteres devem ser inseridos para que a regra valha. Em seguida, eu escrevo qual é o arquivo que deve ser lido de fato e com o parâmetro que informei na url com $1. (Caso deseje mais parâmetros na url, a escrita será parecida, mas informando as variáveis incrementando da seguinte forma: $1, $2, $3 e assim por diante. é importante que escreva corretamente qual é o nome do parâmetro corretamente e também a ordem que receberá os parâmetros na URL.

Agora, no arquivo PHP a leitura é feita como um parâmetro GET comum, da seguinte forma:

 

arquivo PHP teste.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    <?php
    //Exemplo A
    $produto = $_GET['codigoProduto'];
    echo $produto;
 
     //Exemplo B
    $produto = $_GET['cod'];
    echo $produto;
 
     //Exemplo C
    $categoria = $_GET['categoria'];
    echo $categoria;
 
     //Exemplo D
    $pagina = $_GET['page'];
    echo $pagina

É isso pessoal, espero que tenham gostado. Se tiverem sugestões, por favor escrevam!

Até a próxima.

Comments are closed.