Mehre Domain-Records und unerwünschte erzeugte URLs

Armin Bartsch, Mittwoch, 11. März 2009

Werden mehrere Domain-Records für eine Seite angelegt oder mehrere Seiten kann es zur Erzeugung unerwünschter URLs kommen

Standard-Konfiguration

Erfolgt keine Konfiguration von realurl greift eine Standard-Konfiguration, die Ausgabe erfolgt als domain/Seiten-uid.

Meist wird die Ausgabe von relaurl aber besonders konfiguriert um eine  benutzer- und suchmaschinenfreundliche URL zu erhalten. Dazu wird der Array $TYPO3_CONF_VARS['EXTCONF']['realurl'][..] gefüllt. Konfigurationsmöglichkeiten für realurl sind direkt im Extension Manual von real  zu finden.

['_DEFAULT']

Um die Basiskonfiguration von realurl zu überschreiben nutzt man den Array

$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array()
$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array()

Gefüllt wird der Array mit den gewünschten Konfigurationsmöglichkeiten von realur.

Verwendung

Der Einsatz von _DEFAULT ist ratsam, wenn die Standardkonfiguration von realurl überschrieben werden soll oder mehrere Domain-Records für eine Seite vorhanden sind. 

Sind mehrere Seiten vorhanden, die alle die gleiche _DEFAULT Konfiguration besitzen sollen, ist es notwendig, dass die Konfigurationsvariable rootpage_id angepasst wird. Das erreicht man durch eine kleine Anpassung.

// Domain ohne www. eintragen $rootpage_id = array( 'domain_seite1.de' => '677', 'domain_seite2.de' => '1' ); $http_host_realurl = $rootpage_id[preg_replace('!^(www\.)!', '', $_SERVER['HTTP_HOST'])]; $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array()
  1. // Domain ohne www. eintragen
  2. $rootpage_id = array(
  3.  'domain_seite1.de' => '677',
  4.  'domain_seite2.de' => '1'
  5. );
  6. $http_host_realurl = $rootpage_id[preg_replace('!^(www\.)!', '', $_SERVER['HTTP_HOST'])];
  7.  
  8. $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array()
  9.  

Und im Konfigurationsarray wird die Variable $rootpage_id in den key rootpage_id kopiert.

'rootpage_id' => $http_host_realurl
'rootpage_id' => $http_host_realurl

['domain.de']

Anstatt mit _DEFAULT eine Standardkonfiguration festzulegen, kann auch eine domainabhängige Konfiguration erstellt werden.

$TYPO3_CONF_VARS['EXTCONF']['realurl']['domain.de'] = array()
$TYPO3_CONF_VARS['EXTCONF']['realurl']['domain.de'] = array()

Verwendung

Wenn mehrere Seiten vorhanden sind und diese unterschiedliche Konfigurationen besitzen sollen muss die $TYPO3_CONF_VARS['EXTCONF']['realurl'] mit der jeweiligen Domain angelegt werden.

Wichtig ist, dass der key 'rootpage_id' angepasst wird.

Unerwünschte erzeugte URLs

Unerwünschte URLs werden erzeugt, wenn die Standardkonfiguration von realurl greift. Das ist meistens der Fall, wenn mehrere Domain-Records angelegt werden aber nicht für jeden Domain-Record eine Konfiguration zur Verfügung gestellt wird.

Entweder wird die Standardkonfiguration mit ['_DEFAULT'] überschrieben, das ist aber nur möglich, wenn alle Seiten/Domain-Records die gleiche Konfiguration erhalten sollen.

Eine weitere Lösungsmöglichkeit ist das Kopieren der Konfiguration für die Domain-Records.

$TYPO3_CONF_VARS['EXTCONF']['realurl']['domain.de'] = $TYPO3_CONF_VARS['EXTCONF']['realurl']['www.domain.de'];
$TYPO3_CONF_VARS['EXTCONF']['realurl']['domain.de'] = $TYPO3_CONF_VARS['EXTCONF']['realurl']['www.domain.de'];

Es muss für jeden Domain-Record ein $TYPO3_CONF_VARS['EXTCONF']['realurl'][..] erstellt werden.

Sponsored by:

ideenwerft webhosting
ideenwerft caretaker