mod_rewrite regel funktioniert nicht

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

  • mod_rewrite regel funktioniert nicht

    Hi Profis,

    ich stehe mal wieder vor einem Problem:

    Folgende beiden Regeln habe ich nach langem Lesen erstellt:
    Regel 1 funktioniert
    nun möchte ich aber in der Regel 2 die Unterkategorie aufnehmen,
    was jedoch nicht klappt. Es kommt keine Fehlermeldung, die
    2.te Kategorie wird auch korrekt in der Adresszeile angezeigt, nur
    das Script wechselt nicht in die Unterkategorie:

    RewriteRule ^([-a-zA-Z]+)\.html$ index.php?category=$1 [L]
    RewriteRule ^([-a-zA-Z]+)\([-a-zA-Z]+)\.html$ index.php?category=$1 [L]

    Eine Unterkategorie sieht so aus:

    http://www.example.com/Auto-und-Moto...mietungen.html
    oder
    http://www.example.de/Auto-und-Motor...aurierung.html

    Hat jemand eine Idee dazu?
    Was ist an meiner Regel denn falsch?

  • #2
    Wenn du zwischen einem \ und einem / nicht unterscheiden kannst, solltest du dich an den Augenarzt oder Optiker deines Vertrauens wenden.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      wenn es so einfach wäre

      Hab ich schon proviert, Ergebnis bleibt gleich

      das hier:

      RewriteRule ^([-a-zA-Z]+)\.html$ index.php?category=$1&page=2 [L]
      RewriteRule ^([-a-zA-Z]+)/([-a-zA-Z]+)\.html$ index.php?category=$1&page=2 [L]

      funktioniert auch nicht. Auch keine Fehlermeldung :-(

      Kommentar


      • #4
        Und was hat dein Debugging ergeben - Kontrollausgabe der übergebenen Parameter in der index.php mittels print_r($_GET)?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Kein $2 ...?!

          Kommentar


          • #6
            Zitat von onemorenerd Beitrag anzeigen
            Kein $2 ...?!
            doch, klar:

            RewriteRule ^([-a-zA-Z]+)\.html$ index.php?category=$1&page=$2 [L]
            RewriteRule ^([-a-zA-Z]+)/([-a-zA-Z]+)\.html$ index.php?category=$1&page=$2 [L]

            Kommentar


            • #7
              Schön - schaffst du es vielleicht auch noch, die andere Rückfrage zu beantworten ...?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                ausgabe

                Ausgabe: Array ( [page] => Autovermietungen )

                Kommentar


                • #9
                  Kann bei den zuletzt gezeigten Regeln eigentlich gar nicht sein, da du da beide Male einen Parameter category drin stehen hattest - und der müsste darin auch auftauchen, selbst wenn ggf. der Wert fehlt.

                  Legt den Verdacht nahe, dass du uns immer noch nicht deine aktuellen Regeln gezeigt hast, mit denen du den Test durchgeführt hast - und sowas nervt! Es ist schwer möglich, jemandem weiterzuhelfen, wenn immer nur Informationsbruchstücke serviert werden, und die dann auch noch teilweise fehlerhaft sind.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    sauer?

                    Sorry,

                    aber genau so ist es:

                    Hier die aktuellen Regeln:

                    RewriteRule ^([-a-zA-Z]+)\.html$ index.php?category=$1&page=$2 [L]
                    RewriteRule ^([-a-zA-Z]+)/([-a-zA-Z]+)\.html$ index.php?category=$1&page=$2 [L]

                    aktuelle Ausgabe:

                    Array ( [page] => Autovermietungen )

                    Anzeige in der Adressleiste:
                    http://www.example.com/Auto-und-Moto...mietungen.html

                    Kommentar


                    • #11
                      Hast du die Rewrite-Regeln in der httpd.conf? Dann musst du den Webserver mal neustarten.

                      Immernoch kein category im $_GET? Dann bau mal einen Syntaxfehler in die Konfig ein. Meckert der Server dann überhaupt?

                      Kommentar


                      • #12
                        Webserver

                        ich kann den Webserver nicht neu startet.
                        Ist ein Premium-Paket bei 1und1

                        wenn ich im Hauptverzeichnis bin, ist die Ausgabe:


                        Array ( [page] => )

                        Kommentar


                        • #13
                          Zitat von pjoern Beitrag anzeigen
                          Hier die aktuellen Regeln:

                          RewriteRule ^([-a-zA-Z]+)\.html$ index.php?category=$1&page=$2 [L]
                          RewriteRule ^([-a-zA-Z]+)/([-a-zA-Z]+)\.html$ index.php?category=$1&page=$2 [L]

                          aktuelle Ausgabe:

                          Array ( [page] => Autovermietungen )
                          Dann muss ja schon mal dei zweite Regel gegriffen haben, denn bei nur einer Klammerung in der ersten Regel dürfte es dort gar keinen Wert für $2 geben.

                          Hast du die Kontrollausgabe ganz am Anfang des Scriptes gemacht>
                          Nicht das irgendwo im Scriptverlauf, vor der Kontrolle, der Eintrag category aus dem $_GET-Array wieder rausgelöscht wird (wäre zwar ungewöhnlich, aber manche Scripte enthalten solche Sachen).
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            du hast Recht

                            Ich ziehe meinen Hut vor dir.
                            Im Quellcode weiter oben gab es noch ein:

                            unset($_GET['category']);

                            nun habe ich als Ausgabe:

                            Array ( [category] => Auto-und-Motorrad [page] => Autovermietungen )

                            Kommentar


                            • #15
                              geht immer noch nicht

                              @Wahsaga

                              Leider funktioniert es immer noch nicht.
                              Hast du vielleicht noch eine Idee?

                              Kommentar

                              Lädt...
                              X