Hi ChrisB,
if(preg_match('!([^/]*)/!',$_SERVER['REQUEST_URI'],$subpattern)) header("Location: ".$subpattern[1]);
>
> > Aber da dürfte der Hund nicht begraben liegen - weil der Subpattern gar nicht greift.
> > Ich versuche z.B. auf http://localsquires/links oder /band zuzugreifen - der RegExp greift ja nur, wenn noch ein Slash hintendran steht.
>
> Oh nein ...
>
> Du verlangst gar keinen Slash "hinten dran" - sondern dein Ausdruck verlangt nach "Null oder beliebig vielen Zeichen, die kein Slash sind, gefolgt von einem Slash" - und auch das lediglich \*irgendwo\* im zu durchsuchenden Text.
> Der REQUEST\_URI beginnt mit einem Slash, bei deinem Beispiel /links oder /band - und damit erfuellt er deine Bedingung schon, denn was nach dem Slash noch kommt, daran zeigst du ja keinerlei Interesse mehr.
Aah, stimmt. Mist, das hatte ich doch tatsächlich übersehen, jetzt funktioniert es einwandfrei.
Noch grad eine andere Frage bezüglich RegExp:
Wie kann ich Strings wiederholen?
Ich möchte einen Regexp, der auf folgendes matcht:
/site/subsite/action/param/param2 …
Aber (([a-z0-9]{1,})/)\* klappt nicht.
Hast du ne Ahnung, wie das dann heißen muss? (Wenn ich NICHT jeden einzeln angeben möchte.)
—Gabriel[﹫](http://gabrielwilkes.de)
--
[ie:{ fl:| br:> va:) ls:< fo:| rl:( n4:( ss:| de:> js:| ch:? sh:( mo:} zu:}](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%7B+fl%3A%7C+br%3A%3E+va%3A%29+ls%3A%3C+fo%3A%7C+rl%3A%28+n4%3A%28+ss%3A%7C+de%3A%3E+js%3A%7C+ch%3A%3F+sh%3A%28+mo%3A%7D+zu%3A%7D)