Das folgende Beispiel ist zweisprachig mit Deutsch als Grundsprache und Englisch als (erster) Fremdsprache.
Im Seitenbaum wird auf der ersten Ebene eine Seite mit dem Namen 404 angelegt und mit identischem Namen ins Englische übersetzt („Alternative Seitensprache“).
Im Order typo3conf
wird eine neue Datei AdditionalConfiguration.php angelegt und mit dem folgenden PHP-Code gefüllt.
AdditionalConfiguration.php
<?php if (!defined('TYPO3_MODE')) {die('Access denied.');} // Multilanguage 404 page with RealURL: if (preg_match('/\/en\//', $_SERVER['REQUEST_URI']) || $_GET['L'] == 1) { $GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFound_handling'] = '/en/404/'; } else { $GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFound_handling'] = '/404/'; }
… oder ggf. $GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFound_handling'] = '/de/404/';
, wenn die deutsche (Default-)Seite grundsätzlich mit Länderkürzel aufgerufen wird.
Falls kein RealURL installiert ist, kann man selbstverständlich auch die Seiten-ID verwenden:
AdditionalConfiguration.php
<?php if (!defined('TYPO3_MODE')) {die('Access denied.');} // Multilanguage 404 page with RealURL: if (preg_match('/\/en\//', $_SERVER['REQUEST_URI']) || $_GET['L'] == 1) { $GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFound_handling'] = '/index.php?id=17&L=1'; } else { $GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFound_handling'] = '/index.php?id=17&L=0'; }
Quelle: http://blog.exites.de/blog/2011/12/404-fehlerseite-bei-mehrsprachiger-typo3-seite-und-realurl/