Zum Inhalt springen

RealURL 404 multitree, multidomain und multilanguage

Erstellt am 26. Juni 2014 · 2 Antworten · letzte Antwort am 26. Februar 2015

Tags: RealURL, Weiterleitungen & 404, Frage

opaque ·

Hallo

ich habe eine TYPO3 6.2.3 installation mit mehreren Menübaumen, mehrsprachig (8) und mehreren Domains (4). Content wird gemeinsam in mehreren Menübäumen via MountPoints angezeigt.

Jetzt habe ich eine userfunction für die 404er Seiten erstellt welche aus der aktuellen URL die Domain abfrägt und die 404 anhängt.

[FE][pageNotFound_handling] = USER_FUNCTION:fileadmin/templates/ts/use
<?php
  class user_pagenotfound {
    function pagenotfound($param, $conf) {  
	  $host = $_SERVER['SERVER_NAME'];
	//  $lang = $GLOBALS['TSFE']->sys_language_uid;
      $lang = substr($param['currentUrl'], 1, 2);
      $errorpage = "404";
      $errorHeader = "HTTP/1.1 404 Not Found";
      header($errorHeader);
	  header('Location: http://'. $host .'/'. $lang .'/'. $errorpage);
    }
  }
?>

Funktioniert soweit ganz gut ausser die URL beinhaltet nicht die Sprache (de, en,…).

Bsp.: User gibt folgendes in die Adresszeile ein:
http://domain.tld/de/seitegibtesnicht wird richtig weitergeleitet -> http://domain.tld/de/404
wenn er allerdings folgendes eingibt funktioniert es nicht:
http://domain.tld/seitegibtesnicht wird falsch weitergeleitet -> http://domain.tld/se/404

Verwendete Extensions: RealUrl, country2language https://github.com/b13/t3ext-country2language, sr_language_menu

Wie kann ich mit meinem Script prüfen ob eine Sprache und welche gewählt ist, wenn ja setze die Variable $lang auf die jeweiligen Abkürzung (0 -> de, 1 -> en, 2 -> ru,…) und wenn nicht setzte sie auf en. Nöch schöner wäre es wenn man auf die Extension country2language zugreifen könnte und auf den ermittelten Country Code zugreifen könnte.

lg opaque

Sebastian S.​ ·

bin auch auf der Suche nach einer guten Lösung für MultiSeiten und Error-Seiten.

geht vllt. sowas hier:
würde denn auch sowas hier gehen:

if ($_SERVER['HTTP_HOST'] == 'www.domain.de') {
	$TYPO3_CONF_VARS['FE']['pageNotFound_handling'] = '/404-error.html';
}
else {
	$TYPO3_CONF_VARS['FE']['pageNotFound_handling'] = '/404-error.html';
}