Migration von Permalinks

Aus Zeitgründen habe ich meine Webseite von Typo3 auf WordPress umgestellt. Da ein Großteil der Besucher meines Blogs diesen über wenige statische Adressen (Permalinks) erreicht, wollte ich diese natürlich unbedingt erhalten. 

Bisher waren alle Artikel entweder unter

http://www.gsurf.de/index.php?id=xx 

oder unter

http://www.gsurf.de/Artikelname.html

erreichbar. Das neue Format bei WordPress sieht etwas anders aus:

http://www.gsurf.de/Artikelname

Um bei einem Aufruf der alten Permalinks eine Weiterleitung auf die aktuellen Artikel zu erreichen, habe ich mich des Apache2 Moduls mod_rewrite bedient.

Voraussetzungen

Damit das Modul verwendet werden kann, muss es zunächst aktiviert werden. Je nach Betriebssystem ist das Vorgehen dabei unterschiedlich. In meinem Fall konnte das Modul unter Debian mit

#a2enmod rewrite

aktiviert werden.

Die Eigentlichen Weiterleitungen werden dann inder Datei .htaccess im Hauptordner der Worpress-Installation konfiguriert. Damit die Einstellungen für mod_rewrite im .htaccess-File überschrieben werden können, muss dies in der Konfigurationsdatei der betreffenden Webseite eingestellt werden. Unter Debian liegt die Konfigurationsdatei der Standardwebseite unter

/etc/apache2/sites-available/default

Dort muss die Zeile

AllowOverride None

Ersetzt werden durch

AllowOverride All

 Einrichtung der Weiterleitungen

Die eigentlichen Weiterleitungen in der Datei .htaccess sehen bei mir so aus:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
.
.
.

#mISDN V2 und LCR

RewriteRule ^projekte/asterisk/asterisk-mit-misdn-v2-und-lcr.html installation-von-misdn-v2-und-lcr/ [R=301,L]
RewriteCond %{QUERY_STRING} ^(.*)id=56$ [NC]
RewriteRule ^(.*)$ installation-von-misdn-v2-und-lcr/? [NC,R=301,L]
.
.
.
</IfModule>

Die Syntax lautet hierbei

RewriteRule <Ursprüngliches Ziel> <Weiterleitungsziel>

Mit RewriteCond wird jeweils eine Bedingung festgelegt, die erfüllt sein muss, die Regel in der darauf folgenden Zeile angewendet wird.
Die erste Regel ist daher noch relativ selbsterklärend. Interessant ist die Definition der Bedingung in der zweiten Zeile. Mit %{QUERY_STRING} wird nach einem Bestimmten String in der Anfrage gesucht. Dies ist nötig, um per GET übergebene Parameter, wie in diesem Fall die Site-ID, auswerten zu können. Das Suchmuster wird als zweite Parameter übergeben (.*) steht hier für einen beliebigen String. Die Regel gilt also für alle Anfragen, die den String id=56  enthalten. Die Regel in der nächsten Zeile leitet dann alle die Anfragen an die gewünschte Zieladresse weiter.

Der Parameter R=301 am Ende jeder Regel sorgt dafür, dass der HTTP-Status 301/Moved Permanently zurückgegeben wird. Dies ist nötig, damit Suchmaschinen den Umzug erkennen und zukünftig auf die neue Adresse verweisen.

 Ergebnis

Mit der beschriebenen Vorgehensweise konnte alle wichtigen Links erhalten werden. Auf diese Art und Weise verliert man bei einer solchen Umstellung nicht die über Jahre mühsam erarbeiteten Links und Rankings in Suchmaschinen.

4.67 avg. rating (93% score) - 3 votes

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Spamschutz * Time limit is exhausted. Please reload the CAPTCHA.