Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2005 Teil von Juli

SELFHTML Forumsarchiv
Komplexer Regulärer Ausdruck

Informationsseite
  1. Seite (SERVER) Komplexer Regulärer Ausdruck von Gero, 31. 07. 2005, 14:01
nach unten

Komplexer Regulärer Ausdruck

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&parameter2=wert2

Sollte ersetzt werden zu:

http://test.com/?a_1=ordner&a_2=unterordner&a_3=subunterordner&bez=bezeichner&parameter=wert&parameter2=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

nach obennach unten

Komplexer Regulärer Ausdruck

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; }

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2005 Teil von Juli

© 1998-2006 Seite Impressum, Software: Classic Forum