TypoScript 301 Weiterleitungen

Gelegentlich hat man als Internetarbeiter die Anforderung, 301-Weiterleitungen einzurichten. Im Zusammenspiel mit TYPO3 hat man mehrere Möglichkeiten: Klassisch und direkt mit htaccess, etwas versteckt in RealURL und per TypoScript.

1) htaccess

Wie gesagt, der klassische Weg und die klassischste Weiterleitungsform dabei ist die ganz normale Weiterleitung, z.B. von älteren, schon entfernten Seiten, die wegen einem guten PageRank aber in einer Form erhalten bleiben sollen:

RewriteRule relativeUrl$ neueAbsoluteZielurl [R=301,NC,L]

Oder die einfache Umleitung von www-freier Domain zu der mit www:

RewriteCond %{HTTP_HOST} ^domain.de [NC]
RewriteRule (.*) http://www.domain.de/$1 [R=301,NC,L]

2) RealUrl

Der TYPO3 Blogger hat das schon schön beschrieben, neben ein paar anderen Sachen, daher verweise ich an der Stelle einfach auf diesen Blogbeitrag. Ich fand die Funktion etwas versteckt und bin erst spät darauf gestoßen. Ich weiß nicht genau, woran es lag, aber als ich es damals testete, wurden die Weiterleitungen wieder entfernt, wenn ich den Cache im Backend löschte, daher blieb ich dann bei der htaccess-Methode. Ich vermute aber, entweder war damals noch ein Fehler enthalten oder bei dem Testsystem war noch etwas ungünstig eingestellt.

3) TypoScript

Im TypoScript gibt es eine kleine nette Sache namens additionalHeaders. Damit kann man diese für eine Seite explizit setzen und somit eine Weiterleitung setzen. Dies würde wie folgt aussehen:

config.additionalHeaders = HTTP/1.0 301 Permanent Redirect | Location: http://www.domain.de/seite.html

Dynamisch kann man das nach meinen Informationen aber leider nicht befüllen, daher ist es nicht für alle praktischen Fälle anwendbar. Im TYPO3 Bugtracker gibt es einen Fall dazu, aber offenbar ist das Thema recht komplex und der Fall war vor ein paar Jahren stecken geblieben.
Da wir uns jetzt aber im schönen Typoscript-Kontext bewegen, können wir diverseste Bedingungen verwenden, um fallabhängige Weiterleitungen zu setzen. Ein Fall, der mir kürzlich begegnete, sei hier vorgestellt: Bei der tt-news Detailseite hat man die schöne Anzeige „no news-id given“ (oder was man konfiguriert hat), wenn man sie ohne News-ID-Paramter aufruft. Wenn man nicht aufpasst, ist das dann in der Form einmal so verlinkt und landet im Speicher der Suchmaschine und fortan hat man einen gut positionierten Link in der Suchmaschine auf die eigene Seite, der aber auf eine Quasi-Fehlerseite führt. Hier macht sich die folgende Weiterleitung gut. Diese prüft, ob eine tt-news ID übergeben wurde und ob man sich auf der Detailseite befindet und leitet dann direkt auf die Listenansicht weiter. Wenn wie oben erwähnt, stdWrap gehen würde, wäre auch denkbar, automatisch auf die aktuellste News weiterzuleiten.

[globalVar = GP:tx_ttnews|tt_news < 1] && [globalVar = TSFE:id = 28]
config.additionalHeaders = HTTP/1.0 301 Permanent Redirect | Location: http://www.domain.de/news/aktuelles.html
[global]

Wenn die Problemsituation eine Lösung mit Typoscript erlaubt, hat man meines Erachtens einen großen Vorteil: Oftmals kommt man da besser und schneller ran, als an die htaccess. Außerdem kann man durch das Typoscript besser auf Situationen reagieren, da man damit einfach näher am TYPO3-System ist. Des Weiteren hat man bei htaccess, manchmal Jahre nachdem man es gesetzt hat, das lustige Spiel, dass ein Redakteur eine Seite anlegt und zufällig so benennt, wie es in der htaccess vermerkt ist, und da man sich da natürlich nicht im Entferntesten daran erinnert, besitzt man dann ein Weilchen ein dickes Fragezeichen.

 

Diesen Artikel kommentieren

Autor
Martin WunderlichMartin Wunderlich
Webentwickler Frontend, TYPO3-Integrator
Archiv
September 2016
M D M D F S S
   
 1234
567891011
12131415161718
19202122232425
2627282930