Apache 2.4 mod_rewrite in Vhosts funktioniert nicht auf dem lokalen WAMP-Server, aber in .htaccess

Apache 2.4 mod_rewrite in Vhosts funktioniert nicht auf dem lokalen WAMP-Server, aber in .htaccess

Ich hatte einige mod_rewrite-Regeln im lokalen Apache 2.2-Entwicklungsserver und sie funktionierten einwandfrei. Jetzt, nach dem Upgrade auf Apache 2.4, versuche ich, eine einfache mod_rewrite-Regel zu implementieren und sie funktioniert nicht. Mit .htAccess funktioniert sie jedoch. Ist das ein Pfadproblem? Oder ist mod_rewrite in Apache 2.4 anders? Irgendwelche Vorschläge?

Informationen zum lokalen Dev-Server: WAMP-Server 2.5 – Windows 7 mod_rewrite ist geladen und wird in php_info() angezeigt

Apache-Konfiguration: 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> 

Antwort1

Ich vermute, dass der Pfad, den Sie in angeben, <Directory "/site1">falsch ist. Sie haben DocumentRoot "C:/wamp/www", was bedeutet, dass sich das Stammverzeichnis Ihrer Website in diesem Verzeichnis befindet. Um Umschreibregeln mit einem anzuwenden <Directory>, müssen Sie den vollständigen Pfad angeben:

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

oder vielleicht:

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

Abhängig davon, auf welchen Pfad Sie tatsächlich mit verweisen möchten /site1.

verwandte Informationen