problem mit rewrite rule
bernd schlosser
- webserver
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
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/logingeht 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
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
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
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.
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.