Posts Profissionais

Ativar o mod_rewrite e permitir url amigáveis em seus scripts

mod_rewrite é o nome do módulo do Apache responsável por permitir que você utilize isso

planos

ao invés disso

http://www.terra.com.br/index.php?aqq=qedqweq

São as famosas “URL amigáveis”, ou seja, são mais limpas, e já dizem a que vieram logo de cara.

Para trabalhar com URL amigáveis em PHP são necessários alguns ajustes bem simples no servidor, e um bocado de código a mais no script.

Ativando mod_rewrite no Windows

Procure seu php.ini, e substitua todas entradas de “coisa e tal” por “tal e coisa”, como abaixo.

Libere também a instância do módulo mod_rewrite descomentando a linha #mod_rewrite também no seu php.ini.

Pronto! O mod_rewrite agora já está funcionando, mas, para usa-lo ainda terá que fazer algumas implementações.

A primeira delas é incluir um arquivo .htaccess na pasta raiz do seu script. Para começar a entender a coisa toda, crie um arquivo com o seguinte conteúdo:

Este arquivo é responsável por conveter “/categoria/conteudo/detalhe” em algo como “index.php?parametros=categoria/conteudo/detalhe”, ou melhor ainda “index.php?parametro1=categoria&parametro2=conteudos&parametro3=detalhe”. Assim fica bem mais fácil de se trabalhar.

Conheça mais sobre o htaccess.

As linhas do arquivo significam:

RewriteEngine on > Avisa ao interpretador que a URL poderá ser tratada e convertida nesta pasta.

RewriteRule ^([^/.]+)/?$ index.php?url=/$1/ [L] > Informa que “qualquer coisa” depois da barra deverá ser convertida em apenas um parametro, e direcionada para index.php.

Conheça mais sobre o expressões regulares (regex)

Para dividir a URL toda em níveis, utilize a seguinte expressão:

RewriteRule ^([^/.]+)/([^/.]+)/([^/.]+)/([^/.]+)/([^/.]+)/?$ index.php?url=$1/$2/$3/$4/$5/ [L]
Esta expressão irá “quebrar” tudo que estiver entre barras em até 5 parametros.

Ok. Fiz minha parte, agora faça a sua, experimente tudo isso incluindo apenas var_dump($_GET) em seu script PHP e teste as combinações na barra de endereços.

Muitas duvidas irão surgir, e você verá já já que “o buraco é bem mais embaixo”, isso aqui é só a ponta do iceberg, para que o site ou sistema funcione utilizando este recurso muito código terá que ser reescrito e adaptado.

Suas duvidas constroem conhecimento! Envie um comentário que vamos avançando no assunto. Agora é contigo!