mod_rewrite é o nome do módulo do Apache responsável por permitir que você utilize isso
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¶metro2=conteudos¶metro3=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!