RewriteRule

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • RewriteRule

    Hallo,

    ich habe eine Frage zu RewriteRule. Ich habe jetzt schon 2 Stunden verbracht, alle Beiträge zu diesem Thema hier zu durchforsten, aber ich bin nicht schlau daraus geworden

    Ich habe folgende .htaccess:

    Code:
    RewriteEngine on
    RewriteRule ^(.*)\.htm$ /ausgabe.php?p=$1 [L,R]
    ausgabe.php sieht so aus:

    PHP-Code:
    echo "<pre>";
    print_r ($_GET);
    echo 
    "</pre>"
    Wenn ich 'ausgabe.php?p=test' aufrufe, dann bekomme ich folgendes Ergebnis:

    Code:
    Array
    (
        [p] => test
    )
    So weit, so gut. Wenn ich jetzt aber noch weitere Variablen übergeben möchte, z.B.: 'ausgabe.php?p=test&aaa=bbb', dann werden diese in der ausgabe.php nicht angezeigt. Ich kann aber im Voraus noch nicht sagen, wie die Variablen heißen, also müßte es schon eine allgemein gültige Lösung sein. Kann mir dabei jemand helfen?

  • #2
    Re: RewriteRule

    Original geschrieben von mysterx2000
    Ich habe jetzt schon 2 Stunden verbracht, alle Beiträge zu diesem Thema hier zu durchforsten
    dabei hätte dir ja wenigstens auffallen können, dass so eine frage nicht unter "PHP" gehört. *seufz* & *verschieb*
    Wenn ich 'ausgabe.php?p=test' aufrufe
    warum rufst du die datei so auf?
    dazu brauchst du doch nicht rewriten.

    test.htm willst du doch wohl aufrufen, damit daraus intern ausgabe.php?p=test gemacht wird.

    Wenn ich jetzt aber noch weitere Variablen übergeben möchte, z.B.: 'ausgabe.php?p=test&aaa=bbb', dann werden diese in der ausgabe.php nicht angezeigt.
    wie gesagt, der aufruf "so herum" ist unsinn, dafür musst du ja nicht rewriten.

    also überleg dir doch jetzt bitte erst mal, was genau du willst.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Sorry, temporärer Gehirnausfall meinerseits.... *schäm*

      Was ich eigentlich meinte ist, daß wenn ich 'test.htm' aufrufe logischerweiße 'ausgabe.php?p=test' dabei rauskommt.

      Wenn ich aber 'test.htm?aaa=bbb' aufrufe wird dieses 'aaa=bbb' nicht "mitübergeben".

      Ich will am ende dann sowas wie z.B. ''ausgabe.php?p=test&aaa=bbb' haben, damit ich dann die Variable aaa in php weiterverwenden kann. Ich hoffe, daß ich mich jetzt klarer ausgedückt habe

      Kommentar


      • #4
        ok. hat sich erledigt... ich habs doch noch gefunden. Für alle, die es interessiert, die .htaccess muß so aussehen:

        Code:
        RewriteEngine on
        RewriteRule ^(.*)\.htm$ /temp/ausgabe.php?p=$1&%{QUERY_STRING} [L,R]

        Kommentar


        • #5
          Original geschrieben von mysterx2000
          ok. hat sich erledigt... ich habs doch noch gefunden. Für alle, die es interessiert, die .htaccess muß so aussehen:

          Code:
          RewriteEngine on
          RewriteRule ^(.*)\.htm$ /temp/ausgabe.php?p=$1&%{QUERY_STRING} [L,R]
          und was passiert, wenn ich 'test.htm?p=bbb' aufrufe?

          richtig. der in der htaccess definierte parameter wird überschrieben, da du %{QUERY_STRING} später übergibst und daher evtl gleichlautende parameternamen überschreibst.

          aber das ist bestimmt absicht bei dir. oder?
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            Gutes Argument, das muß man dir lassen!

            Aber es ist tatsächlich Absicht. Ich werde in meinen Scripts schon aufpassen, daß ich die Variable p nicht überschreibe.

            Kommentar


            • #7
              werde in meinen Scripts schon aufpassen, daß ich die Variable p nicht überschreibe.
              zum zeitpunkt der überschreibung hast du noch gar keinen einfluss mit hilfe deines scriptes.

              was willst du denn dann prüfen?

              tipp:
              Code:
              ausgabe.php?%{QUERY_STRING}&p=$1
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar

              Lädt...
              X