[TYPO3-german] RealUrl + multilanguage site + 4 Domains + cache

Bernd Wilke xoonsji02 at sneakemail.com
Mon Jun 5 17:06:54 CEST 2006


On Wed, 31 May 2006 13:36:09 +0200, Andrea wrote
with subject "[TYPO3-german] RealUrl + multilanguage site + 4 Domains":

> Hallo
> wer kann mir beim "Finetuning" von RealUrl helfen?
> Ich habe eine 4 sprachige Onetree Site mit den 4 entsprechenden
> Länderdomains.
> Die Konfiguration für die default Domain habe ich im großen und ganzen
> hinbekommen. Probleme mit dem Sprachwechsler müssten z.B. noch
> gelöst werden , abundzu ist ein L-Parameter verschwunden und dann
> funktioniert das Menü nicht mehr....u.a.  www.fewo-marken.de
> 
> Besteht mit RealUrl die Möglichkeit die 2. Sprache auch mit der 2. Domain
> anzeigen zu lassen?
> [L=0] -> config.baseURL = www.domain0.com [L=2] -> config.baseURL =
> www.domain2.de ...
> Hilfe auch gegen Geld gesucht!
> Herzliche Grüße... Andrea Moroni

Andrea und ich haben weiter an dem Problem gebastelt.
Der aktuelle Stand, bzw. der Stand bis zu dem wir es gebracht haben um dann
alles wieder zurückzubauen:

aus irgendwelchen Gründen wird der L-Parameter benötigt, sonst geht die
Sprachzuordnung in den Links chaotisch durcheinander.

Realurl macht aus dem L-Paramter ein 'Zwischenverzeichnis' (de/ en/ ...)

Sofern dieses Verzeichnis vorhanden ist funktioniert auch alles
einwandfrei.

Nur soll man halt auch die Domains aufrufenb und die Seite direkt in der
Sprache erhalten, der diese Domain zugeordnet ist.

(ich beschränke mich jetzt mal bei den Beispielen nur auf zwei Sprachen,
sonst wird das alles etwas zu lang)

dafür haben wir folgendes typoscript:

[globalString = IENV:HTTP_HOST = *vacation-rental-marche.com]
config.sys_language_uid = 0
config.language = en
config.locale_all = en_EN
config.baseURL = http://www.vacation-rental-marche.com/
[global]

[globalString = IENV:HTTP_HOST = *fewo-marken.de]
config.sys_language_uid = 1
config.language = de
config.locale_all = de_DE
config.baseURL = http://www.fewo-marken.de/
[global]

:
:

Dadurch funktioniert folgendes:
die Seiten werden in der passenden Sprache angezeigt.
und das sollte ja eigentlich genügen um eine Sprache festzulegen. wenn ich
in einer Domain bin bleiben Links ja eigentlich in der Domain.

Nun ist aber der L-Parameter notwendig (weiss der Geier was da querläuft)
und es soll danach direkt in ein 'Unterverzeichnis' entsprechend der
Sprache gelinkt werden.

in englisch also http://www.vacation-rental-marche.com/en/
in deutsch: http://www.fewo-marken.de/de/
:

dazu gibt es ein paar nette Einträge in der localconf.php, die in
wechselnder Aktivierung ausprobiert wurden:

$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
//----------------------------------------------
    'init' => array ('enableCHashCache' 	=> 'TRUE'
		    ,'respectSimulateStaticURLs'=> 'FALSE'
		    ,'appendMissingSlash' 	=> 'ifNotFile'
		    ,'enableUrlDecodeCache'   	=> 'TRUE'
		    ,'enableUrlEncodeCache'   	=> 'TRUE'
		    ,'postVarSet_failureMode' 	=> 'redirect_goodUpperDir'
  		    ),
    'redirects'=>array('en/'=>'http://www.vacation-rental-marche.com/en/'
                      ,'de/'=>'http://www.fewo-marken.de/de/'
                      ),

'redirects_regex'=>array('^en/(.*)/'=>'http://vacation-rental-marche.com/en/\1'
			    ,'^de/(.*)/'=>'http://www.fewo-marken.de/de/\1'
  			    ),
    'preVars' => array( array( 'GETvar' => 'no_cache'
			     , 'valueMap' => array( 'no_cache' => 1, )
			     , 'noMatch' => 'bypass',
			     ),
			array( 'GETvar' => 'L'
 			     , 'valueMap' => array( 'en' => '0'
						  , 'de' => '1'
						  )
			     , 'noMatch' => 'bypass'
		   	     ),
		      ),
	'pagePath' => array(...)
	'postVarSets'=>array(...)
	'fileName'=>array(...)
    );

$TYPO3_CONF_VARS['EXTCONF']['realurl']['www.vacation-rental-marche.com']
	=$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'];
$TYPO3_CONF_VARS['EXTCONF']['realurl']['www.fewo-marken.de'            ]
	=$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'];

unset($TYPO3_CONF_VARS['EXTCONF']['realurl']['www.vacation-rental-marche.com']['preVars'][1]['noMatch']);
unset($TYPO3_CONF_VARS['EXTCONF']['realurl']['www.fewo-marken.de']['preVars'][1]['noMatch']);

$TYPO3_CONF_VARS['EXTCONF']['realurl']['www.vacation-rental-marche.com']['preVars'][1]['valueDefault']='en';
$TYPO3_CONF_VARS['EXTCONF']['realurl']['www.fewo-marken.de']['preVars'][1]['valueDefault']='de';

$TYPO3_CONF_VARS['EXTCONF']['realurl']['www.vacation-rental-marche.com']['redirects']
	=array('' => 'http://www.vacation-rental-marche.com/en/');
$TYPO3_CONF_VARS['EXTCONF']['realurl']['www.fewo-marken.de']['redirects']
	=array('' => 'http://www.fewo-marken.de/de/');


funktioniert soweit alles ganz prima, bis auf die Startseite:
Der Inhalt kommt in der richtigen Sprache, aber die Links haben immer die
Sprache des ersten Aufrufes drin.

Also:
1. FE_Cache löschen.
2. Startseite (nur domain) aufrufen. zb. http://www.fewo-marken.de/
dadurch kommt die Startseite in deutsch und alle Links der Seite fangen mit
http://www.fewo-marken.de/de/ an

3. ruft man jetzt http://www.vacation-rental-marche.com auf kommt die Seite
in englisch. ABER: Alle Links starten mit:
http://www.vacation-rental-marche.com/de/ mit dem nächsten Klick bekommt
der Besucher deutsche Inhalte präsentiert. :-(((

macht man 1,3,2 kommen auf der deutschen Startseite alle Links mit
http://www.fewo-marken.de/en/


Ich habe schon versucht den Cache für die Startseite zu deaktivieren
(Pageheader) bzw. auch das Menü statt COA als COA_INT zu definieren. Keine
Veränderung am Verhalten. Immer sind alle Links der Startseite mit der
Sprache des ersten Aufrufes nach Löschen des FE-Caches.

Bernd
-- 
----------------
Bernd Wilke     
Annweilerstr.20 
40229 Düsseldorf
0211/229 2800



More information about the TYPO3-german mailing list