@Himura
das mit der zusätzlichen 301 Weiterleitung ist keine schlechte Idee, aber wie setze ich das um (hab ja noch Schwierigkeiten das Mod Rewrite überhaupt zu schnallen)?
Das ist eine gute Frage, kenne Seine alte und neue Struktur ja nicht. Ich mache es wie gesagt zu 99% mit PHP da es mir per .htaccess auch zu umständlich / kompliziert ist.
Aber eine Endlosschleife gibt es nicht wenn das Flag [L] gesetzt wird. Es muss nur die Reihenfolge der Rules beachtet werden.
So leite ich z.B.
Code: Alles auswählen
RewriteRule ^/unterkuenfte/0/0/20295/2747.html$ /unterkuenfte/region_Bodensee/seite_1_1.html [L,R=301]
weiter und dann per
Code: Alles auswählen
RewriteRule ^/unterkuenfte/([^.]+)\.html$ /index.php?cat=unterkuenfte&query=$1 [L]
an die eigentliche Seite. Aber das ist jetzt nur eine Seite. Alles was mehr ist schicke ich an eine PHP Datei die das dann per Datenbank und Header 301 löst, da ein Zusammenhang von 20295 und Bodensee nur in der DB vorhanden ist, ebenso auch alle anderen Seiten.
Für Dein Beispiel mit der Blätterfunktion kannste Dir ja auch mal "QUERY_STRING" ansehen.
Bei mir werden ja im Beispiel nur bereits rewritete URL neu rewritet aber bezüglich der Parameter habe ich das auch so
Code: Alles auswählen
RewriteCond %{QUERY_STRING} ^cat=unterkuenfte&query=(.*)$
RewriteRule ^/index\.php.*$ /unterkuenfte/%1 [R=301,L]
Wichtig dabei nur, dass die Weiterleitung an die neue URL, nicht an die Datei erfolgt, sonst ist es eine Endlosschleife oder Seiten ohne Ende. Die eigentliche Datei übernimmt dann die echte andere Rule.
Gruß, Ingo