Philipp Söhnlein: mod_rewrite: Restrukturierung nach Relaunch

Beitrag lesen

Tach,

bin gerade dabei eine Seite zu relaunchen, deren URL Struktur sich geändert hat. Bisher konnte ich mit mod_rewrite alle alten URLs auf die neuen umschreiben. Nur ein Problem (und einen Schönheitsfehler) habe ich noch.

Vorher gab es folgende URL:
http://host.de/de/index.php?section=jobs&id=3

Umgeschrieben soll das so ausshen:
http://de.host.de/unternehmen/jobs/3/

Mittels der folgenden Anweisungen klappt das normale umschreiben von
http://host.de/de/index.php?section=jobs in
http://host.de/unternehmen/jobs/

  
RewriteCond %{REQUEST_URI} ^/de/index.php$  
RewriteCond %{QUERY_STRING} ^section=jobs$  
RewriteRule .* http://de.host.de/unternehmen/jobs/ [R=301,L]  

Habe jetzt schon solche und ähnliche Konstrukte probiert:

  
RewriteCond %{REQUEST_URI} ^/de/index.php$  
RewriteCond %{QUERY_STRING} ^section=jobs&id=(.*)$  
RewriteRule .* http://de.nwl-laser.de/unternehmen/jobs/$1/ [R=301,L]  

Diese funktionieren aber nicht. Natürlich könnte ich jetzt für jede Möglichkeit (id=1, id=2 usw.) eine eigene Regel schreiben, aber das wäre arg statisch und geht sicher besser.

Wo liegt mein Fehler?

Ein Schönheitsproblem habe ich noch:
Das Umschreiben von http://host.de/de/index.php?section=jobs mittels der obrigen Regel endet in http://de.host.de/unternehmen/jobs/?section=jobs.
Ist zwar nicht tragisch, aber sieht halt unschön aus. Warum ist das so?

Ciao
Phil