Você precisa permitir a sobregravação.
<Directory "/path/to/document/root/">
AllowOverride All
Allow from All
</Directory>
Estou tentando configurar uma biblioteca de roteamento PHP. Eles dão esse exemplo para um arquivo .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
Eu não consegui fazer isso funcionar, então tentei ativar o mod_rewrite, mas ele diz "Reescreva o módulo já ativado".
Por que não está funcionando corretamente? Obrigado! Estou executando o Ubuntu Precise 12.04 e o apache2.2.22. (Verificado por quaisquer atualizações)
EDIT: Mais alguns detalhes, é uma compilação vagrant do PuPHPet, a reescrita deve ser ativada.
Você precisa permitir a sobregravação.
<Directory "/path/to/document/root/">
AllowOverride All
Allow from All
</Directory>
Primeiro de tudo, defina sua configuração httpd para isso (o caminho pode diferir um do outro. No meu Ubuntu ele é colocado em / etc / apache2 / sites-available / default):
DocumentRoot /var/www
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
Depois disso, você deve ativar o mod_rewrite com este comando:
sudo a2enmod rewrite
O último, reinicie seu serviço do apache :
sudo service apache2 restart
Para garantir isso, você pode verificá-lo novamente em phpinfo em Configuração > apache2handler > Módulos carregados devem estar escritos mod_rewrite
e isso significa que o mod_rewrite está habilitado.
Eu tive o problema semelhante, mas as outras respostas não me ajudaram. Esta linha no começo de .htaccess
resolveu meu problema:
Options +FollowSymLinks -MultiViews
Tags apache2 mod-rewrite