Sindicato Hacker
 

 FORUM SELOS | CONTATO Terça-Feira, 22 de Maio de 2012  

MÁFIA DOURADA
  Pagina Inicial
  Downloads
  Video Aulas
  Windows
  Linux
  Mac OS X
  Tutoriais
  Notícias

  Como Baixar?
  Medir Conexão
  Sites Indicados
  Comunidades

Comunidade do Sindicato Hacker no Orkut

Siga-nos no Twitter!

Planeta Hospedagem - Hospedagem Profissional!
 Tutoriais
  Programação
[PHP] URLs amigáveis com mod_rewrite

O que é mod_rewrite?

É um módulo escrito para o servidor Apache, responsável pela reescrita de URLs em páginas Web.

Hoje em dia, com a popularização de assuntos como SEO, usabilidade e acessibilidade, esta prática se tornou comum e está cada vez mais sendo utilizada por grande portais.

Antes de mais nada, para que o módulo mod_rewrite funcione, obviamente você deve ter configurado e ativado no seu servidor Apache.

Criando o .htaccess

Crie um arquivo com o nome ".htaccess" (exatamente desta forma), e mova para a pasta raiz do seu domínio (ou onde queira implantar a reescrita). Em seguida, insira o código abaixo:
Código:
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?cod=$1


Entendendo o código:

RewriteEngine On
Ativa o suporte à reescrita

RewriteCond %{SCRIPT_FILENAME} !-f
Não aplica a condição para arquivos

RewriteCond %{SCRIPT_FILENAME} !-d
Não aplica a condição para diretórios

RewriteRule ^(.*)$ index.php?cod=$1
Regra de reescrita onde qualquer string (.*) após a pasta, onde estiver o .htaccess, será interpretado por index.php passado na variável cod

Na prática, se você tem uma URL do tipo www.url.com.br/secao/subsecao/, será interpretada por www.url.com.br/index.php?cod=secao/subsecao/. E mais, você não terá limite de níveis para utilizar com as /.

Interpretando com PHP

Com seu arquivo de reescrita criado, você já pode criar uma lógica no seu arquivo PHP para que interprete e leia as URLs passadas.

Veja um exemplo auto-explicativo:
Código:
<?php
/*
* separa a URL por "/" e insere num vetor (array)
*/
$url = explode('/', $_GET['cod']);


/*
* imprime a string passada após a primeira /
* no exemplo acima, seria: secao
*/
echo $url[0];

/*
* imprime a string passada após a segunda /
* no exemplo acima, seria: subsecao
*/
echo $url[1];
?>


Desta forma, você pode utilizar includes para suas seções, ou qualquer outro tipo de inclusão, uma vez que você já tem suas seções separadas.

Fonte: cirofeitosa.com.br

Este Tutorial teve 153 acessos.

ÁREA RESTRITA
Login:
Senha:

PUBLICIDADE
Planeta Hospedagem
ymusicx.com

Programação Orientada a Gambiarras

PageRank

 © 2012 Sindicato Hacker. Todos os Direitos Reservados. ANUNCIE | TERMOS DE USO | EQUIPE