bernd schlosser: problem mit rewrite rule

guten morgen,
ich habe für jede unserer mannschaften einen login, z.b.

RewriteRule ^login/mannschaft1$ http://www.domain.tld/login [L,P]

www.domain.tld/login/mannschaft1
www.domain.tld/login/mannschaft2
www.domain.tld/login/mannschaft3

letzendlich zielen aber alle auf die seite www.domain.tld/login

muss ich denn für jede mannschaft eine eigene rewrite rule anlegen oder
besteht auch die möglichkeit, das über eine zu machen.

z.b. egal was hinter der url "www.domain.tld/login/" steht, linkt immer
aufwww.domain.tld/login

geht sowas?
danke & grüße
bernd

  1. Moin

    muss ich denn für jede mannschaft eine eigene rewrite rule anlegen oder
    besteht auch die möglichkeit, das über eine zu machen.

    Nein

    z.b. egal was hinter der url "www.domain.tld/login/" steht, linkt immer
    aufwww.domain.tld/login

    geht sowas?

    Ja

    und zwar

    RewriteRule ^login/(.*)$ http://www.domain.tld/login [L,P]

    erweitert würde ich an deiner Stelle noch unterscheiden welche Mannschaft sich eingeloggt hat. Dazu kannst du die Gruppe als Get-Variable anhängen.

    RewriteRule ^login/(.*)$ http://www.domain.tld/login?mannschaft=$1 [L,P]

    Das hättest du aber unter http://www.modrewrite.de/mod_rewrite.syntax.phtml auch selbst finden können.

    Gruß Bobby

    --
    -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
    ### Henry L. Mencken ###
    -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
    ## Viktor Frankl ###
    ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
    1. Nein

      Wieso?

      RewriteRule ^login/(.*)$ http://www.domain.tld/login [L,P]

      Vergiss das schnell wieder - das würde auch auf "login/foo/bar/baz/qux/quux/123/holladrio" matchen und ist sicher nicht in deinem Sinn

      RewriteRule ^login/(.*)$ http://www.domain.tld/login?mannschaft=$1 [L,P]

      Das war nicht gewünscht

      Das hättest du aber unter http://www.modrewrite.de/mod_rewrite.syntax.phtml auch selbst finden können.

      Das das nicht die entsprechende Dokumentation von mod_rewrite ist, hättest durch lesen selbst rausfinden können. Ebenso hättest du durch lesen der Fragestellung die eigentliche intention des Fragestellers herausfinden können.

      SCNR

      1. Moin

        RewriteRule ^login/(.*)$ http://www.domain.tld/login?mannschaft=$1 [L,P]

        Das war nicht gewünscht

        Wieso war das nicht gewünscht?

        OriginalPost:
        "z.b. egal was hinter der url "www.domain.tld/login/" steht, linkt immer
        aufwww.domain.tld/login"

        Also ein beliebiger Zeichensatz hinter www.domain.tld/login/ = ^login/(.*)

        Gruß Bobby

        --
        -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
        ### Henry L. Mencken ###
        -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
        ## Viktor Frankl ###
        ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
        1. Wieso war das nicht gewünscht?

          Weil du damit ggf. eine Endlosschleife produzierst, wenn z.B. Trailing Slashes automatisch hinzugefügt werden.

          Also ein beliebiger Zeichensatz hinter www.domain.tld/login/ = ^login/(.*)

          RFC 2606

          Linkt immer auf example.com/login heisst für mich nicht linkt auf login?mannschaft=foo oder wasauchimmer. Sondern eben exakt die ressource /login.

          Dass man die Mannschaft ggf. noch nach "ID" Filtern könnte war mein Senf zum Thema, ist ggf. aber auch nicht gefordert.

          Aber wenn es unterhalb von "/login/" z.B. noch /login/lostpassword oder vergleichbares gibt, stehen wir schon vor einem Problem.

  2. muss ich denn für jede mannschaft eine eigene rewrite rule anlegen oder
    besteht auch die möglichkeit, das über eine zu machen.

    Rewrite Rules verstehen PCRE

    In deinem Fall scheinst du einen String beginnend mit einem spezifischen String (wörtlich)[1] gefolgt von einer (einzelnen?) Ziffer am Ende suchen zu wollen.

    [1] escapen nicht vergessen
    [2] \d

    btw: für Beispiele solltest du dich an RFC 2606, Abschnitt 3 halten und Domains wie example.com, example.org oder example.net verwenden.