05 Julho 2007 ~ 2 Comentários

URL’s Amigáveis com mod_rewrite e .htaccess

URL’s Amigáveis com mod_rewrite e .htaccess

O mod_rewrite e o .htaccess são usados em conjunto para que os sites dinámicos possam apresentar URLs (endereços das páginas) mais amigáveis a quem visualiza o site e permitir a optimização para a procura pelos motores de busca (SEO).

A maior parte dos sites actualmente possui conteúdo dinâmico, normalmente criado a partir de valores de variáveis passados de alguma forma para uma página, surgindo urls do tipo index.php?id=53&seccao=21&autor=2

Este tipo de URL dificulta a memorização e pode mesmo causar problemas de segurança, pois expõe de certo modo informação do modo como o conteúdo é gerado.

Para que seja possível a sua implementação é necessário que o Apache já possua o módulo mod_rewrite. Assim, deste modo, consegue-se mascarar as informações sobre variáveis passadas como parâmetro.

Configuração do Apache:

1. No arquivo httpd.conf, localize as seguintes linhas
#LoadModule rewrite_module modules/mod_rewrite.so
#AddModule mod_rewrite.c

Retire o comentário (#) das duas linhas

2. Procure
Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

Mude de None para All, ficando assim
Directory />
Options FollowSymLinks
AllowOverride All
</Directory>

3. Reinicie o Apache
4. Em seguida, crie um ficheiro, num editor de texto (em modo plain text), chamado .htaccess e guarde na raiz do seu directório web do servidor.
5. No arquivo .htaccess, insira o seguinte código:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .(/)?$ /index.php
</IfModule>

Linha 1 verifica se o mod_rewrite está activo, caso esteja, executa o bloco.
Linha 2 activa o mod_rewrite.
Linha 3 indica qual o directório base de todo conteúdo.
Linha 4 verifica se a url digitada é um ficheiro, caso seja para aqui.
Linha 5 verifica se a url digitada é um directório, caso seja para aqui.
Linha 6 define a expressão regular que será usada para os caminhos.

6. Salve o arquivo .htaccess.

Ler também usando o .htaccess num servidor Apache

Para mais esclarecimentos sobre este assunto consulte neste local

2 Responses to “URL’s Amigáveis com mod_rewrite e .htaccess”

  1. Aureo 28 Janeiro 2009 at 3:44 pm Permalink

    Olá,

    Este artigo me ajudou muito pois, eu uso o joomla e nele existe a oção mod_rewrite, só que eu usava e não podia mais acessar o site, então inseri este código no meu htacees e funcionou, vale lembrar a quem ler, que renomw-ei o arquivo htacess.txt para .htaccess :)

    Muito obrigado!

  2. Aureo Silva Hernandes 5 Outubro 2010 at 3:29 pm Permalink

    Olá,
    Parabéns meu caro, fico muito honrado com a menção de minha autoria no seu site e é muito gratificante saber que vc ajudou uma pessoa, muito grato por tudo!
    AbraÇOS.


Leave a Reply

Você deve estar logado para enviar um comentário.

More in Tutoriais (5 of 6 articles)


Usando o .htaccess num servidor Apache O ficheiro .htaccess é o nome usual do ficheiro de configuração (ao nível ...