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 Smile

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? Undecided

 

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



Datenschutzerklärung · Impressum