ggg schrieb:
> Was mache ich falsch?
Naja es könnte schon helfen wenn du nicht wild irgendetwas kopierst.
sonder versuchst es zu verstehen...
Auch hat es sich bewährt erstmal Teilausdrücke zu testen bevor man an
solchen "Monstern" rumdokter.
> /search/123 gültig ist.
Dann soltest du das auch so schreiben oder dafür eine eigene Regel
definieren.
> Moment kommt da ein Fehler, bei /search/123/ nicht.
WAS für ein Fehler?
Das Problem ist nämlich das dein Audruck 3 Capturing Groups erwartet,
was soll den wohl passieren wenn es nur zwei sind?
Und das dein Audruck so ziemlich alles matcht ist auch nicht gerade
förderlich.
Wenn ich mal davon ausgehe das citty eine Postleitzahl mit 5 Stellen ist
könnte man zunächst so beginnen:
1 | RewriteRule ^(0-9){5}/?$ /search/text.php?city=$1&street=&nr= [L]
|
Das matcht auf alle URLs der form 12345 oder 12345/
Street sei jetzt einfach mal ein String aus Zeichen von a-z Länge
beliebig aber > 1..
1 | RewriteRule ^(0-9){5}/([a-z]+)/?$ /search/text.php?city=$1&street=$2&nr= [L]
|
Und nummer eine Zahl für die Hausnummer
1 | RewriteRule ^(0-9){5}/([a-z]+)/([0-9]+)/?$ /search/text.php?city=$1&street=$2&nr=$3 [L]
|
Also insgesammt:
1 | RewriteRule ^(0-9){5}/?$ /search/text.php?city=$1&street=&nr= [L]
|
2 | RewriteRule ^(0-9){5}/([a-z]+)/?$ /search/text.php?city=$1&street=$2&nr= [L]
|
3 | RewriteRule ^(0-9){5}/([a-z]+)/([0-9]+)/?$ /search/text.php?city=$1&street=$2&nr=$3 [L]
|
Alles ohne wilde Klammern und einen Sternenwald ([/]* heißt das am ende
der URL beliebig viele / stehen dürfen, wieso sollte man das wollen?)