Preciso de ajuda para encontrar o que há de errado com o meu .htaccess que não está sendo lido

4

Estou tentando usar o mod_rewrite através dos arquivos .htaccess e tenho um grande problema, os arquivos .htaccess não parecem ser lidos. A máquina está rodando o Debian 5.0 e está usando o pacote stable apache2.

Eu segui as instruções desta página: link . Mod_rewrite habilitado assim:

a2enmod rewrite

No meu arquivo /etc/apache2/apache2.conf eu adicionei isto:

<Directory "/var/www">
  AllowOverride ALL
  Options FollowSymLinks
</Directory>

No diretório raiz, criei um arquivo .htaccess com este conteúdo:

RewriteEngine on
RewriteRule ^test$ foo.html

Eu tentei muitas sugestões de respostas para perguntas semelhantes sem sucesso. A mensagem de erro que recebo quando visitamos foo.com/test é uma página 404 não encontrada. Todos os arquivos são legíveis por todos. Não há problema ao acessar foo.html diretamente. Eu também tentei colocar lixo em outro .htaccess para ver se o apache iria reclamar sobre isso, nada mudou. Talvez eu esteja cansado demais!

Obrigado

    
por Nicolas Buduroi 11.11.2009 / 23:15

3 respostas

3

Se você não obtiver um erro 500 ao acessar um diretório com um arquivo .htaccess com lixo, o Apache não está lendo o arquivo .htaccess.

Você tem um site definido no arquivo / etc / apache2 / sites-available / default (ou qualquer arquivo que esteja sendo usado para seu host virtual) que substitui a definição AllowOverride All para esse diretório?

    
por 12.11.2009 / 01:32
0

Verifique seu arquivo de erro /var/log/apache2/error.log ao tentar chamar a verificação "test" se corresponder ao diretório correto.

    
por 12.11.2009 / 05:09
0

Eu tive um problema com o meu servidor apache não ler o htaccess também, e como acabou por mim, eu não tinha definido:

<Directory "YOUR_DIRECTORY">
  AllowOverride ALL
</Directory>

para o meu diretório no httpd.conf. Mas uma vez eu fiz e reiniciei o apache com

apachetcl -k restart

o htaccess funcionou bem.

    
por 13.04.2011 / 12:01