Ubuntu, Apache e mod_rewrite

Já a algum tempo eu tenho o apache instalado no meu notebook com o Ubuntu 7.04 com o mod_rewrite habilitado, e nos casos em que eu estava trabalhando estava tudo aparentemente funcionando bem, até hoje, quando eu iniciei a implementação de um projeto pessoal usando o Zend Framework. Não vou entrar em muitos detalhes a respeito desse projeto ainda para não estragar a surpresa, mas eu estou criando o projeto todo modularizado no Zend Framework, onde cada módulo pode ser usado de forma independente mas compondo o mesmo sistema. Aí que o mod_rewrite começou a me dar dor de cabeça, porque ele não estava re-escrevendo a url da forma devida gerando resultados completamente inesperados. Para me certificar que o código estava correto, eu enviei o esqueleto do projeto para o servidor de produção e lá tudo funcionou corretamente o que me fez crêr que o problema estava mesmo na re-escrita da url. Depois de quebrar a cabeça escrevendo um monte de arquivos .htaccess diferentes, eu descobri que o problema se deu porque quando eu instalei o apache com suporte a mod_rewrite eu me esqueci de mudar o valor de uma diretiva para All. Simples assim, e após fazê-lo tudo passou a funcionar corretamente. Por isso vou deixar aqui um pequeno passo-a-passo para quem quiser instalar o suporte à reescrita de url no ubuntu (e acho que serve para outros sabores de *nix também) não passar pelo mesmo problema. Vamos levar em conta que o Apache já está devidamente instalado, ok? Vamos lá: 1. Habilitando o mod_rewrite: # sudo a2enmod rewrite 2. Edite o arquivo de configuração: # sudo gedit /etc/apache2/sites-enabled default Mude a linha 12 de: AllowOverride none para: AllowOverride all Salve e feche o arquivo. 3. Por fim, reinicie o apache # sudo /etc/init.d/apache2 restart Pronto! Agora é meter a mão no código. []s

Post date: 12/10/2007