I'tenho uma nova instalação do Apache 2.2 na minha máquina Vista, tudo funciona bem, exceto o mod reescrito.
I'não comentei
LoadModule rewrite_module modules/mod_rewrite.s
mas nenhuma das minhas regras de reescrita funciona, mesmo as simples como
RewriteRule not_found %{DOCUMENT_ROOT}/index.php?page=404
Todas as regras que eu'm estou usando estão trabalhando no meu hosting, então elas devem estar bem, então minha pergunta é, existe alguma coisa escondida na configuração do apache, que poderia bloquear a reescrita do mod?
Para a minha situação, eu tinha
RewriteEngine On
no meu `.htaccess', junto com o módulo sendo carregado, e não estava funcionando.
A solução para o meu problema foi editar a minha entrada vhost para inlcude
AllowOverride all
na seção <Directory>
para o site em questão.
Acabou de reparar que disse mod_rewrite.s em vez de mod_rewrite.so - espero que'seja um erro de digitação na sua pergunta e não no ficheiro httpd.conf! :)
I'estou mais habituado a usar o Apache no Linux, mas tive de fazer isto no outro dia.
Em primeiro lugar, dê uma olhada no seu diretório de instalação do Apache. (I'estará assumindo que você o instalou em "C:\Program Files" aqui)
Dê uma olhada na pasta: "C:\Program Files\Apache Software Foundation\Apache2.2\modules" e certifique-se de que há's um arquivo chamado mod_rewrite.so lá dentro. (Deve ser, it's fornecido como parte da instalação padrão.
A seguir, abra "C:\Program Files\Apache Software Foundation\Apache2.2\conf" e abra httpd.conf. Certifique-se de que a linha:
#LoadModule rewrite_module modules/mod_rewrite.so
é descomentado:
LoadModule rewrite_module modules/mod_rewrite.so
Além disso, se você quiser habilitar o RewriteEngine por padrão, você pode querer adicionar algo como
<IfModule mod_rewrite>
RewriteEngine On
</IfModule>
até ao fim do seu ficheiro httpd.conf.
Caso contrário, certifique-se de especificar
RewriteEngine On
em algum lugar no seu arquivo .htaccess.