Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

Urls amigáveis no apache


Vou fazer aqui um resumo rápido de como habilitar urls amigáveis no Apache.
Procurando em diversos documentos na internet, vi que tinha que fazer algumas coisas:
  • habilitar o .htaccess no apache
  • carregar o modulo mod_rewrite
  • criar a configuração no .htaccess

Para habilitar o .htaccess no servidor apache, procure no httpd.conf o seguinte trecho:

Options FollowSymLinks Indexes
AllowOverride None
Order allow,deny
Allow from all
Não se esqueça de reiniciar o apache, como estou usando CentOS eu fiz assim:
service httpd restart
Agora para carregar o módulo mod_rewrite verifique se a linha abaixo está descomentada:
LoadModule rewrite_module modules/mod_rewrite.so

Agora vamos para a pasta do site que fica em:
/var/www/html
Criei então o .htaccess no diretório root do meu site e coloquei o seguinte conteúdo:
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^emails /pagina.php?idPagina=127 [nc]

Detalhe: o endereço acima é o que eu estava tentando reescrever, era somente um endereço um endereço, se pesquisar pela internet verá que a configuração do mod_rewrite era para reescrever todas as página de um site, e nesse caso fiz isso para atender um necessidade em específico.
Explicando o código acima:
Temos então o arquivo .htaccess dentro da pasta do site, assim qualquer requisição que chegar ao Apache, ele usará deste arquivo para definir o que fará caso determinadas cheguem até ele, no código temo que as instruções ficam dentro de uma diretiva indicando o modulo que será usado para interpretar a sequência. Percebe que em:
RewriteRule ^emails /pagina.php?idPagina=127 [nc]
Temos ao final o parâmetro:
[nc]
Esse parâmetro é fundamental, sem ele, a reescrita não funciona, pela regra em RewriteRule, temos que tudo do site atual que chegar e começar terminar com emails será redirecionado para o endereço :
/pagina.php?idPagina=127
Nesse caso o endereço acima é anexado a home do site, no caso www.meusite.com.br ficando então:
www.meusite.com.br/pagina.php?idPagina=127
Mas sempre aparecer o endereço :
Espero que essa dica seja útil.

Artigos relacionados

Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.