Wie man mod_rewrite für Apache 2.2 aktiviert

I've bekam frische Installation von Apache 2.2 auf meinem Vista-Rechner, alles funktioniert gut, außer mod rewrite.

I've unkommentiert

LoadModule rewrite_module modules/mod_rewrite.s

aber keine meiner Rewrite-Regeln funktioniert, nicht einmal einfache wie

RewriteRule not_found %{DOCUMENT_ROOT}/index.php?page=404

Alle Regeln, die ich benutze, funktionieren auf meinem Hosting, also sollten sie in Ordnung sein. Meine Frage ist also, gibt es irgendetwas verstecktes in der Apache-Konfiguration, das mod rewrite blockieren könnte?

Für meine Situation hatte ich

RewriteEngine On

in meiner .htaccess, zusammen mit dem geladenen Modul, und es hat nicht funktioniert.

Die Lösung für mein Problem bestand darin, meinen vhost-Eintrag so zu ändern, dass er Folgendes enthielt

AllowOverride all

im Abschnitt `` für die betreffende Site.

Kommentare (6)

Mir ist gerade aufgefallen, dass du mod_rewrite.s statt mod_rewrite.so gesagt hast - ich hoffe, das ist ein Tippfehler in deiner Frage und nicht in der httpd.conf Datei! :)

Ich bin mehr daran gewöhnt, Apache unter Linux zu benutzen, aber ich musste dies neulich tun.

Werfen Sie zunächst einen Blick in Ihr Apache-Installationsverzeichnis. (Ich gehe davon aus, dass Sie ihn unter "C:\Program Files" installiert haben)

Werfen Sie einen Blick in den Ordner: "C:\Program Files\Apache Software Foundation\Apache2.2\modules" und vergewissern Sie sich, dass sich dort eine Datei namens mod_rewrite.so befindet. (Das sollte der Fall sein, denn sie wird als Teil der Standardinstallation bereitgestellt.

Als nächstes öffnen Sie "C:\Programme\Apache Software Foundation\Apache2.2\conf" und öffnen Sie httpd.conf. Stellen Sie sicher, dass die Zeile:

#LoadModule rewrite_module modules/mod_rewrite.so

unkommentiert ist:

LoadModule rewrite_module modules/mod_rewrite.so

Wenn Sie die RewriteEngine standardmäßig aktivieren wollen, können Sie auch etwas hinzufügen wie


    RewriteEngine On

an das Ende der Datei httpd.conf anhängen.

Wenn nicht, stellen Sie sicher, dass Sie Folgendes angeben

RewriteEngine On

irgendwo in Ihrer .htaccess-Datei.

Kommentare (2)

Es gibt natürlich mehr als eine Möglichkeit, aber ich würde vorschlagen, den Standard zu verwenden:

ErrorDocument 404 /index.php?page=404
Kommentare (0)