Apache rewrite_module
andreas
- webserver
Hallo!
Ich habe ein Problem, seit ich mir den neusten Xampp gezogen habe und versuche meine Projekte zum laufen zu bekommen.
Meine .htaccess wird nicht mehr interpretiert!
In der .htaccess wird die RewriteEngine verwndet, diese wird aber nicht ausgeführt!
Wenn ich eine Seite aufrufe, die normal über das rewrite laufen sollte, dann bekomme ich einen 404-Fehler.
In der Log-File steht auch nichts anderes als "File does not exist".
LoadModule rewrite_module modules/mod_rewrite.so
ist in der httpd.conf eingeschaltet.
Das Modul wird auch per phpinfo als geladen angezeigt.
Was kan ich tun?
Vielen Dank für eure Ideen!
Lieber andreas,
Meine .htaccess wird nicht mehr interpretiert!
In der .htaccess wird die RewriteEngine verwndet, diese wird aber nicht ausgeführt!
LoadModule rewrite_module modules/mod_rewrite.so
ist in der httpd.conf eingeschaltet.
Das Modul wird auch per phpinfo als geladen angezeigt.
Ist auch die Benutzung dieses Moduls in einer Direktive erlaubt? Bei mir lokal sieht das so aus:
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Vielen dank für die Reaktion!
Ist auch die Benutzung dieses Moduls in einer Direktive erlaubt? Bei mir lokal sieht das so aus:
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
>
Wo, in welcher Datei, muss ich eventuel die Direktive erlauben?
Wo, in welcher Datei, muss ich eventuel die Direktive erlauben?
ok, das hätte ich gefunden... in der "httpd.conf"
aber es hat leider nichts gebracht.
habe soweit alles auf "AllowOverride All" gestelt, aber es klappt noch nicht
Vielen Dank!
Jetzt funktioniert es!!
Man sollte natürlich den Xampp nicht vergessen neu zu straten :-)
hallo Felix,
Ist auch die Benutzung dieses Moduls in einer Direktive erlaubt?
mod_rewrite benötigt keinerlei gesonderte "Erlaubnis".
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
Das bewirkt, daß .htaccess-Dateien so ziemlich alle Einstellungen überschrieben werden dürfen und ist nicht immer sehr sinnvoll. Siehe Erlaubte Anweisungen
Grüße aus Berlin
Christoph S.
Hallo Christoph,
Ist auch die Benutzung dieses Moduls in einer Direktive erlaubt?
mod_rewrite benötigt keinerlei gesonderte "Erlaubnis".
Natürlich nicht - die Möglichkeit mod_rewrite in .htaccess-Dateien (ja, ich weiß ...) anzuwenden aber schon.
AllowOverride All
Das bewirkt, daß .htaccess-Dateien so ziemlich alle Einstellungen überschrieben werden dürfen und ist nicht immer sehr sinnvoll.
Welchen Wert müsste AllowOverride denn haben, damit man "RewriteEngine On" in einer .htaccess-Datei verwenden darf? Was spricht dagegen wenn Andreas auf seinen lokalen Apachen AllowOverride auf All setzt?
Grüße aus Nürnberg
Tobias
hallo Tobias,
Welchen Wert müsste AllowOverride denn haben, damit man "RewriteEngine On" in einer .htaccess-Datei verwenden darf? Was spricht dagegen wenn Andreas auf seinen lokalen Apachen AllowOverride auf All setzt?
Wenn dir die bereits verlinkte Seite in SELFHTML nicht genügend Antwort gibt, kannst du in der Apache-Doku noch nachlesen.
"All" ist auf einem lokalen Rechner bzw. in einem kleinen privaten Netz unproblematisch. Für einen öffentlichen Serverbetrieb (und rewrite ist nur bei so einem Betrieb wirklich sinnvoll) könnten sich damit zuviele Rechte freigeben lassen. Als Server-Admin muß man nicht unbedingt das Mögliche erlauben, sondern sollte sich auf das Nötige beschränken.
Grüße aus Berlin
Christoph S.
Hallo Christoph,
Wenn dir die bereits verlinkte Seite in SELFHTML nicht genügend Antwort gibt, kannst du in der Apache-Doku noch nachlesen.
Die Doku kenne ich - ich wüsste aber nicht, welcher der Werte AuthConfig, FileInfo, Indexes, Limit oder Options es erlaubt "RewriteEngine On" zu verwenden.
"All" ist auf einem lokalen Rechner bzw. in einem kleinen privaten Netz unproblematisch.
eben - und genau um eine solche Umgebung ging es ja :-)
Für einen öffentlichen Serverbetrieb (und rewrite ist nur bei so einem Betrieb wirklich sinnvoll) könnten sich damit zuviele Rechte freigeben lassen.
Mein Hoster hat AllowOverride auf All gesetzt - ich wüsste aber nicht, was dagegen spricht.
Grüße aus Nürnberg
Tobias
hallo Tobias,
Die Doku kenne ich - ich wüsste aber nicht, welcher der Werte AuthConfig, FileInfo, Indexes, Limit oder Options es erlaubt "RewriteEngine On" zu verwenden.
Wenn ich dir sagen könnte, "verwende AllowOverride XXXX, um nur mod_rewrite zuzulassen" hätte ich das längst getan. Genau das kann ich aber nicht, und die Apache-Doku ist in dieser Hinsicht auch etwas wortkarg. Das einzige, was sich einigermaßen zuverlässig aussagen läßt, ist, es muß eben etwas "anderes" als "None" sein. Wie weitreichend eventuell eine Entscheidung ist, _gar kein_ AllowOverride einzusetzen, prüfe ich grade, auf so eine Idee bin ich bisher noch gar nicht gekommen. Damit ist aber zumindest das Ansprechen von rewrite_rule und von eigenen Fehlerseiten möglich.
Mein Hoster hat AllowOverride auf All gesetzt - ich wüsste aber nicht, was dagegen spricht.
Mein Hoster hat das (für mich auf ausdrückliche Bitte hin) auch getan. Aber nicht alle haben das per "default" so eingerichtet - ich habe da nun wirklich nicht den absoluten Überblick, aber nach meinem unvollkommenen Eindruck scheint es durchaus nicht bei allen "großen" Hostern so eingestellt zu sein.
Grüße aus Berlin
Christoph S.
Hi Christoph!
Die Doku kenne ich - ich wüsste aber nicht, welcher der Werte AuthConfig, FileInfo, Indexes, Limit oder Options es erlaubt "RewriteEngine On" zu verwenden.
Wenn ich dir sagen könnte, "verwende AllowOverride XXXX, um nur mod_rewrite zuzulassen" hätte ich das längst getan. Genau das kann ich aber nicht, und die Apache-Doku ist in dieser Hinsicht auch etwas wortkarg. Das einzige, was sich einigermaßen zuverlässig aussagen läßt, ist, es muß eben etwas "anderes" als "None" sein. Wie weitreichend eventuell eine Entscheidung ist, _gar kein_ AllowOverride einzusetzen, prüfe ich grade, auf so eine Idee bin ich bisher noch gar nicht gekommen. Damit ist aber zumindest das Ansprechen von rewrite_rule und von eigenen Fehlerseiten möglich.
Wie aus diesem Apache-Manual Auszug deutlich wird, muss mindestens AllowOverride FileInfo gesetzt sein, um RewriteEngine nutzen zu können.
Grüße,
Fabian St.