Regex URL umwandeln

Ryan1991

Grünschnabel
Hallo erstmal,
ich hoffe meine Problem wurde so noch nicht bearbeitet, zumindest habe ich es nicht gefunden.

Ich habe folgendes Problem:

ich möchte per Regex eine URL
von
Code:
www.domain.de/verzeichnis/bundesland-stadt-ort-name
in
Code:
www.domain.de/verzeichnis/bundesland/stadt/ort/bundesland-stadt-ort-name
umandeln.

wenn ich dann die umgewandelte URL im browser eingebe, soll mich die url an
"www.domain.de/verzeichnis/bundesland-stadt-ort-name"
weiterleiten.

Leider habe ich keine Ahnung von Regex.
Vielleicht kennt sich jemand in Regex sogut aus, das er/sie mir weiterhelfen kann.

Danke im Vorraus!
MfG
Ryan1991
 
Zuletzt bearbeitet von einem Moderator:
Letztlich eine mod_rewrite-Geschichte, oder? In meiner Signatur ist ein Regex-Tester. Wenn sich der Aufbau des ersten Teils nicht ändert, dann würde
Code:
#(?<=verzeichnis/)(.*)\-(.*)\-(.*)\-(.*)#
zum Ziel führen und man hätte die Einzelteile vorliegen
Code:
Array
(
    [0] => bundesland-stadt-ort-name
    [1] => bundesland
    [2] => stadt
    [3] => ort
    [4] => name
)
Nun würde man die url wieder zusammenflicken, müsste (unter regexp) in etwa so aussehen
Code:
www.domain.de/verzeichnis/$1/$2/$3/$0
(Sorry, das sind grad theoretische Gedanken, kein Copy/Paste! in Mod_rewrite sehen die regex-Regeln noch ein bisschen anders aus, aber ähnlich..)

Links dazu:
http://www.modrewrite.de/mod-rewrite/beispiele/statische-url/
http://www.seo-consulting.de/pages/20041116-url-mod-rewrite.php
http://www.ranking-konzept.de/mod_rewrite.html
http://regexp-tester.mediacix.de/exp/regex/

mfg chmee
 
Hey, ich bins mal wieder ;D

ich habe noch ein kleinen problem, bezüglich der Weiterleitung.

mein Quelltext sieht wiefolgt aus:
Code:
RewriteRule /test/((.*)\-(.*)\-(.*)\-((.*)\-(.*)))$ 	/test/$2/$3/$4/$5/$1 [L,QSA]

So wie ich und viele Webseiten das sehen, ist die Syntax richtig.
aber wenn ich jetzt z.b
Code:
http://127.0.0.1/test/1-2-3-4-5
eingebe, müsste mich die rewriterule doch nach
Code:
http://127.0.0.1/test/1/2/3/4-5/1-2-3-4-5
weiterleiten...
oder sehe ich das falsch?

mod_rewrite ist aktiviert.

schonmal danke im Vorraus
MfG
Ryan1991
 
Zuletzt bearbeitet von einem Moderator:
Hay,
ich habe noch eine Frage zu meinem Regex Problem.

Ich möchte einen String überprüfen, der wiefolgt aufgebaut ist:
Code:
teil1-teil2-teil3-teil4

Ich habe schon ein wenig ausprobiert, aber es funktioniert einfach nicht.
Meine Regex Kenntnisse sind einfach nicht ausreichend dafür :p

Code:
.*[a-zA-Z]-.*[a-zA-Z]-.*[a-zA-Z]-.*[^\-]

In teil1, teil2 und teil3 dürfen Groß- und Gleinschreibung verwendet werden.
In teil 4 darf _ . a-z A-Z verwendet werden, aber kein -

Wie kann man das realisieren?

Danke im vorraus.
mfg
Ryan1991
 
Hi.
Ich möchte einen String überprüfen, der wiefolgt aufgebaut ist:
Code:
teil1-teil2-teil3-teil4

Ich habe schon ein wenig ausprobiert, aber es funktioniert einfach nicht.
Meine Regex Kenntnisse sind einfach nicht ausreichend dafür :p

Code:
.*[a-zA-Z]-.*[a-zA-Z]-.*[a-zA-Z]-.*[^\-]
Du akzeptierst hier eine beliebe Folge von Zeichen, dann ein Zeichen aus a-zA-Z, dann einen Bindestrich, dann eine beliebe Folge von Zeichen, dann ein Zeichen aus a-zA-Z, dann einen Bindestrich, dann eine beliebe Folge von Zeichen, dann ein Zeichen aus a-zA-Z, dann einen Bindestrich, dann eine beliebe Folge von Zeichen und dann ein Zeichen welches kein \ und kein - ist.

Wolltest du nicht eher eine Folge von a-zA-Z, bindestrich akzeptieren?

Code:
[a-zA-Z]*-[a-zA-Z]*-[a-zA-Z]*-[_a-zA-Z]*
Gruß
 
hatte ich vor, ja.
hmm ich dachte ich hätte regex langsam ein wenig verstanden.

aber vielen Dank, für die schnelle Antwort
 
Zurück