Conteúdos

Ativando o mod_rewrite no Linux

Olá a todos, Vamos ativar e configurar o mod_rewrite no Apache.

Primeiramente o que é o mod_rewrite?

O mod_rewrite é um módulo do Apache que permite reescrever URL’s. Ou seja, com ele é possível fazer com que coisas como: http://vanildosouto.com.br/posts/?id=213 se tornem http://vanildosouto.com.br/post/ativando-mod_rewrite_linux, o que melhora o pagerank da página, e facilita a vida das pessoas que acessam seu site, deixando a URL mais memorizável.

Ok e como ativamos?

Ao instalar o apache, geralmente, ele vem com o mod_rewrite listado na pasta de mods-available (em distribuições baseadas em Debian o caminho é /etc/apache2/mods-available/ ). Verifique se o arquivo está lá:

1
ls /etc/apache2/mods-available/

O arquivo do módulo é rewrite.load Agora verifique se ele está na pasta de mods ativados

1
ls /etc/apache2/mods-enabled/

Caso não esteja crie um link simbolico dele nesta pasta

1
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled

Agora o módulo está ativado.

Certo, agora está tudo pronto?

Ainda não, falta configurar o arquivo de configuração de vhosts para aceitar arquivos .htaccess

Edite o arquivo /etc/apache2/sites-enabled/000-default.conf

Dentro da tag “Directory” adicione as seguintes linhas (verifique se já não exista, se sim somente modifique-as)

1
2
3
4
5
6
<Directory "/var/www/<caminho para a raiz do sistema>">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

Reinicie o Apache

1
sudo service apache2 restart

ou

1
sudo /etc/init.d/apache2 restart

Agora sim, instalado e ativado é só usar um arquivo .htaccess na raiz da sua aplicação, com as regras para reescrever URL’s.