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 IndexesAllowOverride NoneOrder allow,denyAllow from all
Não se esqueça de reiniciar o apache, como estou usando CentOS eu fiz assim:
service httpd restart
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 +FollowSymlinksRewriteEngine OnRewriteRule ^emails /pagina.php?idPagina=127 [nc]
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 :
Comentários
Postar um comentário