Mod Rewrite: URL automatisch ändern

M

Mr. Snoot

Gast
Hio,

vielleicht kann mir jemand weiterhelfen (nachdem es in zwei anderen Foren schon fehlgeschlagen ist ;)). Es geht um eine dynamische URL, die beim Aufruf in der Adresszeile via RewriteRule geändert werden soll (wenn die dynamische URL bspw. von Hand eingetippt wird).



Die Adresse ist bspw. index.php?seite=meineseite und soll zu de/meineseite/ werden. Das klappt bisher mit dieser Rule:
PHP:
RewriteCond %{THE_REQUEST} ^[A-Z]+\s/index\.php\?seite=([a-z]+) 

RewriteRule ^index\.php$ /de/%1/? [R=301] 

RewriteRule ^de/([a-z]+)/ index.php?seite=$1 [L]
So, nun soll aber noch aus index.php?seite=meineseite&seite2=unterseite -> de/meineseite/unterseite/ werden. Das klappt aber nicht, es wird auch hier aus der dyn. URL de/meineseite/ und die unterseite/ fehlt
PHP:
RewriteCond %{THE_REQUEST} ^[A-Z]+\s/index\.php\?seite=([a-z]+)&seite2=([a-z]+) 

RewriteRule ^index\.php$ /de/%1/%2/? [R=301] 

RewriteRule ^de/([a-z]+)/([a-z]+)/$ index.php?seite=$1&seite2=$2 [L]
Weiß jemand, was da falsch ist?


edit: so, des Rätsels Lösung: erst die zweite Rule definieren, dann die erste. So klappts :)
 
Zuletzt bearbeitet:
ALso ich habe so eine Zeile bei mir, und funzt wunderbar!

Sehe bei dir so auf anhieb keinen Fehler - aber ist auch schon spät!
Code:
RewriteRule ^beitraege_lesen/([^/]+)/([0-9]+)/$      system.php?go=beitraege_lesen&id=$2 [QSA,L]
 
@Mr. Snoot
Mach mal aus den % => $ ;)

http://pd930.hostile.dyndns.info/~hostile/rewrite_test/20080925/de/meineseite/
http://pd930.hostile.dyndns.info/~hostile/rewrite_test/20080925/de/meineseite/unterseite/

Geht beides.

gruß
hostile

PS:

Code:
RewriteCond %{THE_REQUEST} ^[A-Z]+s/index.php?seite=([a-z]+)
RewriteRule ^index.php$ /de/$1/? [R=301]
RewriteRule ^de/([a-z]+)/[b]$[/b] [color=red]/~hostile/cgi-bin/rw.cgi[/color]?seite=$1 [L]

RewriteCond %{THE_REQUEST} ^[A-Z]+s/index.php?seite=([a-z]+)&seite2=([a-z]+)
RewriteRule ^index.php$ /de/$1/$2/? [R=301]
RewriteRule ^de/([a-z]+)/([a-z]+)/$ [color=red]/~hostile/cgi-bin/rw.cgi[/color]?seite=$1&seite2=$2 [L]

Das rote musst du durch deine index.php ersetzen...
 
Zuletzt bearbeitet:
Also mit '$' statt '%' werde ich in beiden Fällen zu www.meine-domain.de// umgeleitet.


edit: so, des Rätsels Lösung: erst die zweite Rule definieren, dann die erste. So klappts :)
 
Zuletzt bearbeitet:
Zurück
Oben