mod_rewrite
Max Faber
- webserver
tag zusammen,
mod_rewrite ist ja toll, aber bei mir geht es leider nicht, wie es denn soll.
Mein Code:
RewriteEngine On
RewriteRule !index.php - [C]
RewriteRule ^(.*)$ index.php?pfad=$1 [L]
Und das soll er machen:
http://www.meinserver.de/meinverzeichnis/nocheinverzeichnis/index.php
oder
http://www.meinserver.de/meinverzeichnis/nocheinverzeichnis/
oder
http://www.meinserver.de/meinverzeichnis/
wird jeweils zu
http://www.meinserver.de/?action=meinverzeichnis
oder vielleicht noch zu
http://www.meinserver.de/?action=meinverzeichnis/nocheinverzeichnis
So weit so gut, was jedoch geschieht ist
"zu viele weiterleitungen, kann auch bei fehlerhaften weiterleitungen auftreten".
tja, nun bitte ihr, dennn ich bin am ende
für den fall, dass ich bestimmte verzeichnisse aus diesem system ausschließen kann, wäre das auch toll.
grüße
RewriteRule ^(.*)$ index.php?pfad=$1 [L]
heißt natürlich
RewriteRule ^(.*)$ index.php?action=$1 [L]
macht aber keinen Unterschied.
Hi Max,
RewriteEngine On
RewriteRule !index.php - [C]
RewriteRule ^(.*)$ index.php?pfad=$1 [L]
So weit so gut, was jedoch geschieht ist
"zu viele weiterleitungen, kann auch bei fehlerhaften weiterleitungen auftreten".
Nun, da steht doch im Prinzip schon, was der Fehler ist. Du leitest /foo/bar/ weiter auf /index?action=foo/bar - und das dann, wenn der aufgerufen Pfad != index.php ist.
Da frage ich dich ist:
index.php == index.php?action=foo/bar ??
Aber mal noch abgesehen davon, dass sieht mir so aus, als würde index.php die anderen Dateien includen? Du hast doch hoffentlich einen Schutz eingebaut, dann /index.php?action=.htaccess oder /index.php?action=/etc/passwd und ähnliches zu keinen Ergebnis führen?
MfG, Dennis.
Nun, da steht doch im Prinzip schon, was der Fehler ist. Du leitest /foo/bar/ weiter auf /index?action=foo/bar - und das dann, wenn der aufgerufen Pfad != index.php ist.
Da frage ich dich ist:
index.php == index.php?action=foo/bar ??
Ja, gute frage. ich habe natürlich keinen schimmer davon, aber eine anwort habe ich leider noch immer nicht.
Aber mal noch abgesehen davon, dass sieht mir so aus, als würde index.php die anderen Dateien includen? Du hast doch hoffentlich einen Schutz eingebaut, dann /index.php?action=.htaccess oder /index.php?action=/etc/passwd und ähnliches zu keinen Ergebnis führen?
Nein, habe ich natürlich nicht, weil ich zum einen nicht weiß, wie ich diesen schutz einbaue, bzw. verzeichnisse ausschließe, aber andererseits auch gar nichts include.
mfg
Hi Max,
Ja, gute frage. ich habe natürlich keinen schimmer davon, aber eine anwort habe ich leider noch immer nicht.
Du musst die Abfrage oben so abändern, dass diese auch noch zeichen nach index.php akzetiert. Probier es mal mit index.php(.*)
Aber mal noch abgesehen davon, dass sieht mir so aus, als würde index.php die anderen Dateien includen? Du hast doch hoffentlich einen Schutz eingebaut, dann /index.php?action=.htaccess oder /index.php?action=/etc/passwd und ähnliches zu keinen Ergebnis führen?
Nein, habe ich natürlich nicht, weil ich zum einen nicht weiß, wie ich diesen schutz einbaue, bzw. verzeichnisse ausschließe, aber andererseits auch gar nichts include.
Wenn du nicht includest, ist das nicht so schlimm (sollte zumindest nicht, kA, was du machst). Schlimm ist, wenn du einfach einen Pfad, der im GET Parameter steht includest, weil man sich so z.B. eine .htaccess Datei oder Dateien außerhalb des DokumentRoots anschauen kann.
MfG, Dennis.
Danke, Dennis, aber
Du musst die Abfrage oben so abändern, dass diese auch noch zeichen nach index.php akzetiert. Probier es mal mit index.php(.*)
Da bleibt das Problem mit den Weiterleitungen leider bestehen.
Grüße
hi,
Du musst die Abfrage oben so abändern, dass diese auch noch zeichen nach index.php akzetiert. Probier es mal mit index.php(.*)
nein, siehe https://forum.selfhtml.org/?t=96052&m=583550.
gruß,
wahsaga
hi,
Nun, da steht doch im Prinzip schon, was der Fehler ist. Du leitest /foo/bar/ weiter auf /index?action=foo/bar - und das dann, wenn der aufgerufen Pfad != index.php ist.
Da frage ich dich ist:
index.php == index.php?action=foo/bar ??
für mod_rewrite: JA, weil es den query string überhaupt nicht betrachtet.
gruß,
wahsaga
Hi wahsaga,
Da frage ich dich ist:
index.php == index.php?action=foo/bar ??
für mod_rewrite: JA, weil es den query string überhaupt nicht betrachtet.
Ok, ich gebe mich geschlagen ;-)
Aber woran liegts dann? Wäre es nicht denkbar, dass durch irgeneine Fehlkonfiguration des Servers da mit dem Querystring was schief läuft?
MfG, Dennis.
hi,
Aber woran liegts dann?
RewriteRule !index.php - [C]
gruß,
wahsaga