Nina: ModRewrite: Parameter

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

  1. 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

    1. 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.

      1. Lol, stimmt.
        Ich hatte nicht daran gedacht, das RewriteRule sich ja nur auf den Dateinamen bezieht ;)

        so long,
        Samy

      2. 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

        1. 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.