TYPO3: RealURL mit mehreren Domains

Mit der Ereiterung RealURL lassen sich die Pfade schön anzeigen, was bereits unter
RealURL mehrsprachig nutzen beschrieben wurde. Bei mehren Domains gibt es jedoch etwas zu beachten.

Bei der Umsetzung von mehrsprachigen Websites mit TYPO3 besteht die Wahl zwischen zwei verschiedenen Konzepten:

  1. Mehrere Seitenbäume (Two-Tree):
    Jedem Seitenbaum wird ein Domainrecord zugewiesen und mittels einer TypoScript-Condition kann der Host abgefragt und die gewünschte Sprache zugewiesen werden.
  2. Ein Seitenbaum für alle Sprachen (one-tree-fits-all):
    Die gewünschte Sprache wird über einen Get-Parameter (oft “L”) abgefragt, welcher bei suchmaschinenfreundlichen URLs dennoch immer Bestandteil der URL ist.

Die beiden Methoden sind auch problemlos gemischt zu verwenden.

Falls man die erste Methode wählt muss man in der jeweiligen Startseite (Root-Verzeichnis) im TYPO3-Backend über die Listenansicht einen “Domäne” Eintrag hinzufügen. Dabei nur die URL eingeben und auf das übliche “http://” verzichten.

In der typo3conf.php muss man nun nicht für jede Domain eine Konfiguration aufbauen, sondern kann kann den gesamten “_DEFAULT”-Block kopieren:

$TYPO3_CONF_VARS[‘EXTCONF’][‘realurl’][‘www.domain.com’]=
$TYPO3_CONF_VARS[‘EXTCONF’][‘realurl’][‘_DEFAULT’];

und nur die unterschiedlichen Stellen werden verändert:

$TYPO3_CONF_VARS[‘EXTCONF’][‘realurl’][‘www.domain.com’]
[‘pagePath’][‘rootpage_id’] = 123;

Um bei Bedarf einzelne Felder entfernen (Zeilenumbruch nicht übernehmen):

unset($TYPO3_CONF_VARS[‘EXTCONF’][‘realurl’]
[‘www.domain.com’][‘preVars’][0][‘noMatch’]);

Für die zweite Methode ist wichtig, dass für die unterschiedlichen Sprachen auch die Sprach ID gewechselt wird im TypoScript und auch ggf. die Einstellungen für pdf_generator mit mehrsprachigen Seiten berücksichtigt werden:

config.linkVars = L
page.config {
language = en
locale_all = en_EN
htmlTag_langKey = en
}
pdf_generator.config {
language = en
locale_all = en_EN
htmlTag_langKey = en
}
[globalVar = GP:L=1]
page.config {
sys_language_uid = 1
language = de
locale_all = de_DE
htmlTag_langKey = de-DE
}
pdf_generator.config {
sys_language_uid = 1
language = de
locale_all = de_DE
htmlTag_langKey = de-DE
}
[global]

Der Sprachwechsel kann wie unter RealURL mehrsprachig nutzen beschrieben “im context” geschehen, oder wenn unterschiedliche Domains für jede Sprache verwendet werden direkt über die Domain selber über:

// Sprachen über Domain setzen:
switch(t3lib_div::getIndpEnv(‘HTTP_HOST’)){
case ‘www.domain.de’;
$_GET[‘L’] = 0;
break;
case ‘www.domain.com’;
$_GET[‘L’] = 1;
break;
}

Der Wechsel von einer zur anderen Sprache ist beispielsweise per Sprachwechsler über Flaggen möglich, oder bei verschiedenen Domains direkt über diese.

Author: admirableadmin

Hello World! Ich bin Andreas Peichert und entwickle und programmiere Software seit 2000. Zurzeit arbeite ich als Senior Solution Architect.

Leave a Reply

Your email address will not be published. Required fields are marked *