27.10
Pré-requisitos
- Utilizar o servidor de aplicações web Apache
- Saber o básico de Expressões Regulares
O que é .htaccess?
O .htaccess é um arquivo de texto oculto que contém uma série de diretivas para o servidor Apache, como em muitos casos o .htaccess pode ser utilizado para restringir o acesso a determinados arquivos, impedir de listar os arquivos de um diretório, redirecionar uma página, personalizar as páginas de erro, urls amigáveis e muitas outras diretivas.
Porém para o funcionamento da reescrita das urls das páginas web do seu site, é necessário que em seu servidor Apache esteja configurado e instalado o módulo mod_rewrite, que é responsável por tal tarefa utilizando as fantásticas expressões regulares.
Já entendi Vinícius! e agora!?
Agora criaremos o nosso arquivo .htaccess, para isso basta abrir um arquivo em branco no seu programa default que usa para decodificar e salvá-lo como “.htaccess” no diretório raiz do seu site.
Agora com o nosso arquivo criado, iniciaremos a escrita das nossas diretivas:
1 #ativa a reescrita2 RewriteEngine On3 #define a url base para reescrever as regras, que no nosso caso é o diretorio raiz4 RewriteBase /5 #regra de reescrita de url6 RewriteRule ^noticias\/(\d{4})\/(\d{2})\/(\d{2})\/([\w_-]+)\/?$ noticia.php?ano=$1&mes=$2&dia=$3&slug=$4
Vamos entender a regra!
O modelo apresentado acima, mostra explicitamente o seguinte:
1 ^noticias\/2 #define que a nova url deve iniciar com: "noticias/"
1 (\d{4})\/2 #4 caracteres decimais seguido por uma "/"
1 (\d{2})\/2 #2 caracteres decimais seguido por uma "/"
1 (\d{2})\/2 #2 caracteres decimais seguido por uma "/"
1 ([\w_-]+)\/?$2 #uma string sem tamanho definido, seguido opcionalmente por uma "/" no fim
1 noticia.php?ano=$1&mes=$2&dia=$3&slug=$42 #url real que vai ser transformada em url amigável
As expressões ‘$1′ , ‘$2′, ‘$3′ , ‘$4′ significam o primeiro, segundo, terceiro e quarto conjunto de caracteres respectivamente agrupados por parênteses na expressão da esquerda. Ou seja, é guardada uma referência para esses grupos de caracteres para que você possa usá-los.
Espero que tenha ajudado! ;D
[...] Em um projeto de otimização do portal “Seu Restaurante” em meados de 2009, o mesmo sofreu alteração em suas urls, tornando-as em as famosas urls amigáveis. Nesse projeto utilizei o mod_rewrite para executar essa tarefa, tais que ensino em um dos posts do blog: Criando urls amigáveis com mod_rewrite. [...]