FreddyTheBoy: Mod_Rewrite - Rewrite Rule abkürzen - kann mir jmd helfen?

Hallo.

Ich habe folgende Rewrite Rules:

RewriteRule ^([a-zA-Z0-9-]+)/?([a-zA-Z0-9-]*)/?([a-zA-Z0-9-]*)/?([a-zA-Z0-9-]*)/?([a-zA-Z0-9-]*)/?([a-zA-Z0-9-]*)?$ index.php?p=$1&id=$2&a=$3&b=$4&c=$5&d=$6

RewriteRule ^([a-zA-Z0-9-]+)/?([a-zA-Z0-9-]*)/?([a-zA-Z0-9-]*)/?([a-zA-Z0-9-]*)/?([a-zA-Z0-9-]*)/?([a-zA-Z0-9-]*)/?$ index.php?p=$1&id=$2&a=$3&b=$4&c=$5&d=$6

Mich stört es irgendwie das die Parameterzahl dort "begrenzt ist". Ich habe ja die Parameter $1-$6 und für jeden muss ich ein "([a-zA-Z0-9-]+)/?" vorne dranhängen.
Kann man das nicht irgendwie so umschreiben, das ich unbegrenzt viele Parameter umgeschrieben bekomme?

Bis dann!

Freddy

  1. Hi,

    Mich stört es irgendwie das die Parameterzahl dort "begrenzt ist". Ich habe ja die Parameter $1-$6 und für jeden muss ich ein "([a-zA-Z0-9-]+)/?" vorne dranhängen.
    Kann man das nicht irgendwie so umschreiben, das ich unbegrenzt viele Parameter umgeschrieben bekomme?

    Du kannst natürlich auch das Teilmuster, welches einen Parameter nebst Abgrenzung zum nächsten definiert, ebenfalls mit einem Quantifier mehrfach matchen lassen.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    1. Du kannst natürlich auch das Teilmuster, welches einen Parameter nebst Abgrenzung zum nächsten definiert, ebenfalls mit einem Quantifier mehrfach matchen lassen.

      Sorry das verstehe ich irgendwie nicht ganz. Hilf mir ein bisschen mehr, gib mir ein Beispiel bitte. =/

      Gruß, FreddyTheBoy

      1. Hi,

        Du kannst natürlich auch das Teilmuster, welches einen Parameter nebst Abgrenzung zum nächsten definiert, ebenfalls mit einem Quantifier mehrfach matchen lassen.

        Sorry das verstehe ich irgendwie nicht ganz. Hilf mir ein bisschen mehr, gib mir ein Beispiel bitte.

        Was hast du beim Versuch, dich zu informieren, was Quantifier sind und wie man sie benutzen kann, herausgefunden?

        MfG ChrisB

        --
        Light travels faster than sound - that's why most people appear bright until you hear them speak.
        1. Was hast du beim Versuch, dich zu informieren, was Quantifier sind und wie man sie benutzen kann, herausgefunden?

          Das ich nicht weiß wie ich folgendes:

          "Das Muster der Rewrite-Regel umfasst zwischen den Ankern ^ und $ eine einfangende Klammer mit dem Teilausdruck [^/]+. Dieser besteht wiederum aus einer Zeichenklasse [^/] und einem gierigen Quantifier +. Der Quantifier + fordert, dass mindestens eines der durch die Zeichenklasse beschriebenen Zeichen vorkommt, da er gierig ist, aber möglichst soviel wie nur möglich."

          auf meinen Fall anwende.

          1. Hi,

            Das ich nicht weiß wie ich folgendes:

            "Das Muster der Rewrite-Regel umfasst zwischen den Ankern ^ und $ eine einfangende Klammer mit dem Teilausdruck [^/]+. Dieser besteht wiederum aus einer Zeichenklasse [^/] und einem gierigen Quantifier +. Der Quantifier + fordert, dass mindestens eines der durch die Zeichenklasse beschriebenen Zeichen vorkommt, da er gierig ist, aber möglichst soviel wie nur möglich."

            auf meinen Fall anwende.

            Statt nur eine Zeichenklasse anzugeben, von der du forderst dass ihr "Inhalt" mehrfach gefunden werden soll, gibst du ein spezielleres (Teil-)suchmuster an, das in der Lage ist, das Auftreten *eines* "Parameters" in deinen Adressen zu erkennen.

            MfG ChrisB

            --
            Light travels faster than sound - that's why most people appear bright until you hear them speak.
            1. Statt nur eine Zeichenklasse anzugeben, von der du forderst dass ihr "Inhalt" mehrfach gefunden werden soll, gibst du ein spezielleres (Teil-)suchmuster an, das in der Lage ist, das Auftreten *eines* "Parameters" in deinen Adressen zu erkennen.

              hey das war mir schon von anfang an klar ;)
              Nur weiß ich immernoch nicht wie das aussehen muss..

              1. Hi,

                Statt nur eine Zeichenklasse anzugeben, von der du forderst dass ihr "Inhalt" mehrfach gefunden werden soll, gibst du ein spezielleres (Teil-)suchmuster an, das in der Lage ist, das Auftreten *eines* "Parameters" in deinen Adressen zu erkennen.

                hey das war mir schon von anfang an klar ;)
                Nur weiß ich immernoch nicht wie das aussehen muss..

                Warum nicht, in wie fern nicht?

                Du hast ein Muster, welches einen Parameter (nebst seiner Abgrenzung zum nächsten) in der Adresse matchen soll?
                Du hast dich für einen Quantifier entschieden?

                Was fehlt dir jetzt noch?

                MfG ChrisB

                --
                Light travels faster than sound - that's why most people appear bright until you hear them speak.
      2. Sorry das verstehe ich irgendwie nicht ganz. Hilf mir ein bisschen mehr, gib mir ein Beispiel bitte. =/

        Befasse mich auch gerade mit RewriteEngine.

        Nehme mal an sowas:

        RewriteRule ^(([a-zA-Z0-9-]+)/?+)$ index.php?path=$1

        bin mir aber keinesfalls sicher :-)