Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
UI Steps
sizesmall
Informações
Este artigo é destinado aos clientes que possuem dúvidas sobre o mod_rewrite e suas funcionalidades.

Atualmente, é muito comum o uso de scripts que são executados no servidor para gerenciar conteúdos dinâmicos em páginas web. Isto é muito interessante, entretanto geram problemas. Ex.: URLs muito grandes ou complicadas demais, que podem prejudicar a indexação do site por mecanismos de busca.

Exemplo de uma url complicada, de difícil memorização: http://www.meudominio.com.br/index.php?sessao=artigos&dia=26&mes=12&ano=2014-12-26

Exemplo de url amigável: http://www.meudominio.com.br/artigos/26/12/2014

O que é o mod_rewrite?

Mod_rewrite é um módulo do apache que realiza a reescrita transparente de URLs usando expressões regulares. É semelhante a um redirecionamento, porém o usuário não saberá que a página foi reescrita, já que o endereço na barra de endereços do navegador não muda e nenhum cabeçalho HTTP é enviado.

Na prática:

...


UI Step

Crie/Edite o arquivo .htaccess no diretório raiz do seu site (DocumentRoot) e acrescente a linha:
RewriteEngine On

#Esta linha habilita o uso do mod_rewrite no seu site.

1º Exemplo:

Bloco de código
RewriteRule ^([a-z,0-9,A-Z,_-]+)\/([a-z,0-9,A-Z,_-]+)\/([a-z,0-9,A-Z,_-]+)\/?$ exemplo1.php?dia=$1&mes=$2&ano=$3


Entendendo a linha acima:

Bloco de código
RewriteRule - Define o início de uma regra de reescrita;

...


([a-z,0-9,A-Z,_-]+) - Todos os caracteres (Números e Letras) + _ -;

...


\/ - Barras;

...


\/? - Uma barra ou vazio.




UI Step

2º Exemplo:

URL: http://www.meudominio.com.br/artigos/26/12/2014/20

Regra:

Bloco de código
RewriteRule ^artigos\/([a-z,0-9,A-Z,_-]+)\/([a-z,0-9,A-Z,_-]+)\/([a-z,0-9,A-Z,_-]+)\/([a-z,0-9,A-Z,_-]+)\/?$ exemplo2.php?sessao=artigos&dia=$1&mes=$2&ano=$3&id=$4

Certo. E agora? Qual a diferenca entre o 1º e o 2º exemplo?

A diferença é que ele manipula uma URL "/artigos/" somente se for www.meudominio.br/artigos/..., caso seja www.meudominio.com.br/10/10/2014, ele não irá executar a segunda regra.

As alterações todas juntas para o arquivo .htaccess:

Bloco de código
RewriteEngine on

...


RewriteRule ^artigos\/([a-z,0-9,A-Z,_-]+)\/([a-z,0-9,A-Z,_-]+)\/([a-z,0-9,A-Z,_-]+)\/([a-z,0-9,A-Z,_-]+)\/?$ exemplo2.php?sessao=artigos&dia=$1&mes=$2&ano=$3&id=$4

...


RewriteRule ^([a-z,0-9,A-Z,_-]+)\/([a-z,0-9,A-Z,_-]+)\/([a-z,0-9,A-Z,_-]+)\/?$ exemplo1.php?dia=$1&mes=$2&ano=$3
UI Step

Para os scripts receberem as variáveis criadas pelo mod_rewrite:

Para o 1º exemplo:

Bloco de código
<?php

...


echo "Digita via url amigáveis: $dia/$mes/$ano";

...


?>

Para o 2º exemplo:


Bloco de código
<?php

...


echo "Digita via url amigáveis:

...


Sessão: $sessao

...


Dia: $dia

...


Mes: $mes

...


Ano: $ano

...


Id: $id

...


";

...


?>

No mais é isto. A utilização do mod_rewrite é recomendada para as práticas de otimização da engine de busca (SEO) e vem sendo cada vez mais utilizada.

Caso possua quaisquer outras dúvidas, entre em contato com o nosso Suporte Técnico.





Informações
iconfalse
titleEste artigo te ajudou?

Rate Macro
themedivs



Informações
iconfalse
titleAinda precisa de ajuda?

Image Added