Redirect mit .htaccess
21.10.2012 21:35 Uhr
Hallo zusammen,
ich habe mir alle vorigen Posts zu .htaccess-Sachen angeschaut, aber nichts passendes gefunden.
Also, ich habe eine Test-301er in meiner .htaccess, um von der URL eines ehemaligen WP-Blogpost auf meine neue MODX-URL des gleichen Artikels umzuleiten. Im Grunde funzt das auch, allerdings hängt mir die Umleitung die ursprüngliche URL als Query hinten dran und der User landet auf der Result-Seite und nicht im eigentlichen Post. Seht selbst:
http://www.freizeitler.de/2008/08/css-ein-3-spalter-div-layout/
Die .htaccess sieht so aus:
RewriteEngine On
#FURLs
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
#301er
RedirectMatch 301 ^/2008/08/css-ein-3-spalter-div-layout/ http://www.freizeitler.de/blog/2008/06/04/css-template-eine-3-spalter-div-vorlage/
Wie bekomme ich das Anhängsel weg?
Danke für eure Hilfe,
Henry
3 Antworten
#1
22.10.2012 14:20 Uhr
|
Hallo Henry,
wenn ich mich nicht täusche, dann musst du lediglich ein "?" am Ende der Ziel-URL ergänzen, um den Query String NICHT mit zu übergeben.
Also so:
RedirectMatch 301 ^/2008/08/css-ein-3-spalter-div-layout/ http://www.freizeitler.de/blog/2008/06/04/css-template-eine-3-spalter-div-vorlage/?
|
#2
22.10.2012 18:06 Uhr
|
Danke Pascal für die Antwort, es funzt schonmal 
Nochmal nachgefragt: Eine Lösung ohne ein Fragezeichen am Ende gibt es nicht?
|
#3
23.10.2012 21:13 Uhr
|
Ok, ich habe das ganze noch einmal etwas vertieft. Bekanntermaßen gibt es zwei Module in Apache: mod_alias und mod_rewrite. mod_rewrite wird immer vor mod_alias ausgeführt, egal welche Reihenfolge in der .htaccess vorgegeben wird. In diesem Blogpost (uralt) wird daher empfohlen, die Redirects als mod_rewrite anzulegen und vor der RewriteCond abzufeuern.
Ich habe das in meiner .htaccess natürlich direkt ausprobiert (s. u.), hat aber leider nicht funktioniert. Hat jemand eine Idee warum? 
Also:
RewriteEngine On
RewriteBase /
RewriteRule ^/2008/08/css-ein-3-spalter-div-layout/ /blog/2008/06/04/css-template-eine-3-spalter-div-vorlage/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
|
|
Ähnliche Fragen
|