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