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
.