ModRewrite: Parameter
Nina
- webserver
0 Samuel Vogel0 Dennis0 Samuel Vogel0 Nina0 Dennis
Guten Abend,
hatte biser immer
RewriteRule ^(.*).html ./do.php?file=/$1.html
in meiner .htaccess.
Nun würde ich aber auch gerne einen Parameter mit-übergeben; also wenn test.html?admin_frame=1 aufgerufen wird, würde ich gerne das Script so ausgeführt haben: do.php?admin_frame=1&file=/test.html
Damit habe ich es u.a. schon versucht; jedoch leider vergeblich :(
RewriteRule ^(.*).html?admin_frame=(.*) ./do.php?admin_frame=$2&file=/$1.html
Was ist falsch daran? Oder besser gefragt: wie sollte man es richtig schreiben?
Danke
Hi,
RewriteRule ^(.*).html ./do.php?file=/$1.html
Probier doch mal:
RewriteRule ^(.*).html[?]*(.*)$ ./do.php?file=/$1.html&$2
So in der Art würde ich das machen, ist aber ungetestet ;)
so long,
Samy
Hi Samuel,
Probier doch mal:
RewriteRule ^(.*).html[?]*(.*)$ ./do.php?file=/$1.html&$2
So in der Art würde ich das machen, ist aber ungetestet ;)
Aua, Nein (Rewriteflags). 5 Minuten Handbuch lesen können einem 1 Stunde rumrätseln ersparen ;-)
Viele Grüße,
~ Dennis.
Lol, stimmt.
Ich hatte nicht daran gedacht, das RewriteRule sich ja nur auf den Dateinamen bezieht ;)
so long,
Samy
Hi Samuel,
und
Dennis
Danke erstmal.
Hab auf dem Testserver nun mal
RewriteRule ^(.*).html ./do.php?file=/$1.html [QSA]
verwendet und dort funktioniert es auch.
Auf dem Onlineserver, der leider nur einen Apache 1.3.26 hat, will sich stattdessen Fehler 500 zeigen.
Nun frage ich mich oder genaugenommen Euch, ob das QSA Zeugs etwas neueres ist, was der "alte Apache" nicht unterstützt..?
Hoffe, dass lässt sich beheben.
Gute Nacht
Hi Nina,
Nun frage ich mich oder genaugenommen Euch, ob das QSA Zeugs etwas neueres ist, was der "alte Apache" nicht unterstützt..?
Für den Apache gibt es verschiedene Handbücher, schaue also in dem Handbuch für deine Version unter dem Modul mod_rewrite die Direktive RewriteRule nach. Dort findest du ebenfalls QSA als RewriteFlag genannt. Dein Apache sollte es also kennen.
Es hilft hier aber nicht zu spekulieren, was jetzt alles schief gelaufen sein könnte - am besten schaust du in deinem error.log nach (bzw. fragst deinen Provider nach dem error.log, falls dieser dir keinen direkten Zugriff darauf gewähren sollte, was aber eigentlich sinnlos ist) und nennst uns dann hier die Fehlermeldung zu deinem 500er Error. Dann können wir weiter sehen :-)
Viele Grüße,
~ Dennis.