De acordo com a mensagem de erro, o mod_rewrite não foi carregado. Ative-o com a2enmod rewrite
e reinicie o seu Apache httpd com service apache2 restart
.
Ontem eu instalei o LAMP no meu Ubuntu 10.04. No começo tudo parecia bem, mas, quando eu iniciei meu aplicativo PHP (eu o copiei do Windows 7, onde eu uso o XAMPP) ele não aceitou meu arquivo .htaccess. Então todas as minhas URLs estão quebradas no momento.
O que eu fiz para o .acacesso ao trabalho.
1.Quando criei arquivo de configuração separado em ./sites-available/ mudei a seção Diretório AllowOverride
de None
para All
<Directory /some_path/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
2.Também a primeira linha no meu arquivo .htaccess é RewriteEngine On
.
Tudo funcionou bem no Windows no XAMPP. Quando lancei o link , ele me deu 500 Internal Server Error. Quando eu altero AllowOverride
de volta para None
, ele abre index.html na minha pasta raiz e não em index.php.
UPD: error.log diz sobre o erro 500:
[Sat Jun 26 09:40:53 2010] [alert] [client 127.0.0.1] /some_path/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
Alguém poderia sugerir alguma solução sobre como corrigir isso?
Você parece não ter instalado ou ativado mod_rewrite
em sua instalação do Apache. A linha
Invalid command 'RewriteEngine'
é bem claro. Quando você definir AllowOverride
para none
, o arquivo .htaccess
não será analisado, portanto, nenhuma mensagem de erro será exibida.
Você teria que ativar ou instalar o módulo mod_rewrite
.