Como posso ativar o mod_rewrite no apache no Ubuntu?

13

Como você habilita o mod_rewrite com o Apache no Ubuntu 10.04?

Tentei copiar rewrite.loadde /etc/apache2/mods-availablepara, etc/apache2/mods-enabledmas isso não funcionou.

Nathan Osman
fonte

Respostas:

20

Tente o seguinte: sudo a2enmod rewritee reinicie o apache.

Rwky
fonte
4

A resposta da Obsidian para usar o a2enmod é a solução adequada. O método de andol funcionaria, mas poderia ser interrompido na atualização. O que o a2enmod faz é simplesmente criar um link simbólico, para que os dois a seguir sejam a mesma solução, ambos adequados:

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

ou

  a2enmod rewrite

No entanto, o a2enmod procurará outros tipos de arquivos, alguns têm .conf e possivelmente outros. Não há razão para não aprender esse comando, embora seja importante saber o que está acontecendo em segundo plano.

Copiar o arquivo tornaria qualquer administrador futuro muito desagradável para você. :)

Justin Alan Ryan
fonte
Bem, é apenas para testes locais, então não é grande coisa. Mas sim, a2enmodé apenas mais fácil de qualquer maneira.
Nathan Osman
2

Na verdade, apesar de ser o tipo de solução errada, copiar rewrite.load de ./mods-available/ para ./mods-enabled/ deveria ter funcionado. Você se lembrou de reiniciar seu apache depois?

De qualquer forma, ./mods-enabled/ normalmente deve conter links simbólicos para os arquivos correspondentes em ./mods-available/ . Isso é, como mencionado no Obsidian, mais fácil de manipular pelos comandos a2enmod e a2dismod.

Além de ativar o módulo, você também precisará ativar a reescrita. Antes de poder escrever seu RewriteCond : se RewriteRule : s, deve haver um " RewriteEngine On " nesse contexto de configuração.

andol
fonte
Isso também funciona. Lembre-se de definir as permissões corretas nos links simbólicos nos mods habilitados ... ou você estará arrancando os cabelos.
Nathan Osman