[TYPO3-german] RealURL mehrere Sprache, mehre Domains, _DOMAINS, eine Installation

Sebastian Rey s.rey at pixelstein.de
Tue Jun 12 12:03:12 CEST 2012


Hallo,

ich habe eine TYPO3-Installation mit mehreren Seiten die alle mehrsprachig angelegt sind:

+- Hauptseite
| |
| +- ...
| |
| +- ...
|
+- Microsite
  |
  +- ...
  |
  +- ...

Die Hauptseite ist über die Domain www.hauptseite.com zu erreichen und verwendet herkömmliche Sprachumschaltung.
Also mit aktivem RealURL www.hauptseite.com/ für deutsch, www.hauptseite.com/en/ für englisch und so weiter.

Die Microsite ist über die Domains www.microsite.com und www.microsite.de zu erreichen und verwendet domainbasierte Sprachumschaltung.
Also www.microsite.de für deutsch und www.microsite.com für englisch.

Damit die Hauptseite nicht von der _DOMAINS-Konfiguration von RealURL beeinflusst wird, lade ich diese nur wenn eine Anfrage an eine der Microsite-Domains gesendet wird.

Momentan funktioniert diese Konfiguration auch, nur befürchte ich das es durch selektive Laden der _DOMAINS-Konfiguration mit der Zeit zu Problemen durch fehlerhafte Einträge im RealURL-Cache kommen kann.

Ist mein Verdacht begründet?
Gibt es alternative Möglichkeiten diese Konfiguration umzusetzen?

realurl_conf.php:

$realUrlConf = array(
	'init' => array(
		'appendMissingSlash' => 'ifNotFile', 
	),
	
   'preVars' => array(
		array(
			'GETvar' => 'no_cache',
			'valueMap' => array(
			   'no_cache' => 1,
			),
			'noMatch' => 'bypass',
		),
		array(
			'GETvar' => 'L',
			'valueMap' => array(
				'en' => '1',
				'nl' => '2',
				'es' => '3',
				'fr' => '4',
				'it' => '5',
			),
			'valueDefault' => '0',
			'noMatch' => 'bypass',
		),
	),

	'fileName' => array (
		'defaultToHTMLsuffixOnPrev' => true,
	),

	'postVarSets' => array(
        '_DEFAULT' => array (
            'index' => array(
                array(
                    'GETvar' => '',
                ),
            ),

            'article' => array(
                array(
                    'GETvar' => 'tx_ttnews[tt_news]',
                ),
                array(
                    'GETvar' => 'tx_ttnews[backPid]',
                ),
            ),
            'category' => array(
                array(
                    'GETvar' => 'tx_ttnews[cat]',
                ),
            ),
            'neste' => array(
                array(
                    'GETvar' => 'tx_ttnews[pointer]',
                ),


                        ),
            'products' => array(
                array(
                    'GETvar' => 'tx_ttproducts_pi1[pid]',
                ),
            ),
           
               
        ),
    ),
	
	'pagePath' => array(
		'type' => 'user',
		'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
		'spaceCharacter' => '-',
		'languageGetVar' => 'L',
		'expireDays' => 3
	),
);

if(preg_match('/(www\.)?microsite\.(com|de)/', $_SERVER['HTTP_HOST']) > 0){
	//*
	$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DOMAINS'] = array(
		'encode' => array(
			array(
				'GETvar' => 'L',
				'value' => '',
				'ifDifferentToCurrent' => true,
				'useConfiguration' => 'www.microsite.de',
				'urlPrepend' => 'http://www.microsite.de',
			),
			array(
				'GETvar' => 'L',
				'value' => '0',
				'ifDifferentToCurrent' => true,
				'useConfiguration' => 'www.microsite.de',
				'urlPrepend' => 'http://www.microsite.de',
			),
			array(
				'GETvar' => 'L',
				'value' => '1',
				'ifDifferentToCurrent' => true,
				'useConfiguration' => 'www.microsite.com',
				'urlPrepend' => 'http://www.microsite.com',
			),
		),
		'decode' => array(
			'www.microsite.de' => array(
				'GETvars' => array(
					'L' => '0',
				),
				'useConfiguration' => 'www.microsite.de',
			),
			'microsite.de' => array(
				'GETvars' => array(
					'L' => '0',
				),
				'useConfiguration' => 'www.microsite.de',
			),
			
			'www.microsite.com' => array(
				'GETvars' => array(
					'L' => '1',
				),
				'useConfiguration' => 'www.microsite.com',
			),
			'microsite.com' => array(
				'GETvars' => array(
					'L' => '1',
				),
				'useConfiguration' => 'www.microsite.com',
			),
		),
	);
	//*/
}

$RootPID = array(
	'www.hauptseite.com' => '1',
	'hauptseite.com' => '1',
	
	'www.microsite.com' => '123',
	'microsite.com' => '123',
	'www.microsite.de' => '123',
	'microsite.de' => '123',
);

foreach($RootPID as $url => $id){
	$TYPO3_CONF_VARS['EXTCONF']['realurl'][$url] = $realUrlConf;
	$TYPO3_CONF_VARS['EXTCONF']['realurl'][$url]['pagePath']['rootpage_id'] = $id;
}

unset($RootPID);
unset($realUrlConf);

Mit freundlichen Grüßen / with best regards
Sebastian Rey Carballido

-- 
PIXELSTEIN GmbH & Co. KG
Bruchköbeler Landstr. 37, D 63452 Hanau

Tel.: +49-6181-94534751, Fax: +49-6181-94534710
Mobil: +49-175-7241494
E-Mail: s.rey-carballido at pixelstein.de
Web: www.pixelstein.de

Geschäftsführung: Bernhard Krause, Georg Biekehör
Amtsgericht Hanau HRA 92604

Persönliche haftende Gesellschafterin:
PIXELSTEIN & Friends GmbH, Bruchköbeler Landstraße 37,
63452 Hanau, Amtsgericht Hanau HRB 92371
Geschäftsführung: Bernhard Krause, Georg Biekehör

NOTICE: This message including any attachments is intended
only for the use of the designated recipient(s) named above and
may contain confidential information protected by law.  If you
are not the intended recipient, you are hereby notified that any
disclosure, copying, distribution or the taking of any action in
reliance on the contents of this information is strictly prohibited.
If you have received this transmission in error, please notify the
sender immediately by e-mail and delete the original message
including any attachments.



More information about the TYPO3-german mailing list