Apache 2.4 mod_rewrite em Vhosts não funciona no servidor local WAMP, mas funciona em .htaccess

Apache 2.4 mod_rewrite em Vhosts não funciona no servidor local WAMP, mas funciona em .htaccess

Eu tinha algumas regras mod_rewrite no servidor de desenvolvimento local Apache 2.2 e elas estavam funcionando bem. Agora, depois de atualizar para o Apache 2.4, estou tentando fazer uma regra mod_rewrite simples e não está funcionando. No entanto, está funcionando com .htAccess. Isso é um problema de caminho? Ou mod_rewrite é diferente no Apache 2.4? Alguma sugestão?

Informações do servidor de desenvolvimento local: WAMP-Server 2.5 - mod_rewrite do Windows 7 é carregado e exibido em php_info()

Configuração do Apache: http://apaste.info/OF3

<VirtualHost *:80>

ServerAdmin [email protected]
DocumentRoot "C:/wamp/www"
ServerName site1.example.com
ErrorLog "logs/site1-error.log"
CustomLog "logs/site1-access.log" common

<Directory "/site1">
Options +FollowSymLinks -MultiViews 
RewriteEngine On
RewriteBase /
LogLevel alert rewrite:trace3
RewriteRule ^/index.html$ /welcome.html
</Directory>

</VirtualHost> 

Responder1

Meu palpite é que o caminho que você especificou <Directory "/site1">está incorreto. Você tem DocumentRoot "C:/wamp/www", o que significa que a raiz do seu site está nesse diretório. Para aplicar regras de reescrita usando a <Directory>, você deve especificar o caminho completo:

<Directory "C:/wamp/www">
    [...]
</Directory>

ou talvez:

<Directory "C:/wamp/www/site1">
    [...]
</Directory>

Dependendo de qual caminho você está realmente tentando se referir usando /site1.

informação relacionada