![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: Gero, 31. 07. 2005, 14:01
Hallo SelfHTML-Gemeinde,
ich will mit mod_rewrite die URLs "logisch verschönern".
Na klar, ich habe mir die entsprechenden Themen schon durchgelesen, nur scheitere ich an der Anfertigung des passenden regulären Ausdrucks. Die Ersetzung soll nach folgendem Muster geschehen:
http://test.com/ordner/unterordner/subunterordner/bezeichner.htm?parameter=wert¶meter2=wert2
Sollte ersetzt werden zu:
http://test.com/?a_1=ordner&a_2=unterordner&a_3=subunterordner&bez=bezeichner¶meter=wert¶meter2=wert2
So in etwa jedenfalls: Mein Problem nur aber: Die URL kann auch so aussehen (falls nämlich kein "subunterordner" besteht)
http://test.com/ordner/unterordner/bezeichner.htm
Wie gehe ich vor? Ich wäre sehr dankbar für eine Antwort.
Grüße,
Gero
Die folgende Nachricht zum Thema stammt von: wahsaga, 31. 07. 2005, 17:43
hi,
»» Mein Problem nur aber: Die URL kann auch so aussehen (falls nämlich kein "subunterordner" besteht)
»»
»» http://test.com/ordner/unterordner/bezeichner.htm
»»
»» Wie gehe ich vor?
also ist der subordner optional.
optionale teile kennzeichnest du in regulären ausdrücken mit einem fragezeichen.
etwa so sollte das funktionieren (ungetestet):
RewriteRukle ^/([a-z]+)/([a-z]+)/([a-z]+/)?([a-z]+)\.htm$ /?a_1=$1&a_2=$2&a_3=$3&bez=$4 [qsa]
das flag qsa = query string append zum anhängen des originalen query strings.
ob der ausdruck mit / beginnen muss, hängt von einer eventuellen RewriteBase ab.
und ob das umleiten auf /?... klappt, weiß ich nicht. evtl. musst du den scriptnamen da doch angeben (schadet ja nix, ist ja eh nur intern, bekommt der benutzer nicht zu sehen).
gruß,
wahsaga
--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }
© 1998-2006
Impressum, Software: Classic Forum