RealURL Multidomain Umsetzung im Singletree mit http - https Umschaltung

Zuerst RealURL installieren, ins Typoscript:

 

 config {
 
 prefixLocalAnchors = all
 
 simulateStaticDocuments = 0
 
 baseURL = de.domain.tld
 
 tx_realurl_enable = 1
 
 } 

 

Danach für jede Sprache ins Typoscript:

 

[globalVar = GP:L = 1]||[globalVar = GP:L = en] || [globalString = IENV:HTTP_HOST = en.domain.tld]
 config {
 sys_language_uid = 1 #(richtige id einstellen)
 locale_all = en_GB.utf8
 language = en
 htmlTag_langKey = en-GB
 baseURL=http://en.domain.tld/
 page.headerData.100 = TEXT 
 }
 [global] 

 

Dieser Codeblock muss für jede Sprachversion übernommen werden. Die globalVar bzw. globalString können abweichen.

Um die https Umschaltung für einzelne Seiten zu ermöglichen muss nach der Installation der Extension ax_https (bitte zur Installation der Extension Doku im TER lesen, es gibt ab 6.0 auch eine Core Funktionalität mit der sich das Protokoll erzwingen lässt) noch das ins Typoscript, sonst werden die Links nicht richtig erzeugt:

 

 [page|tx_axhttps_protocol = 1] && [globalVar = GP:L = 1]
 config.baseURL = en.domain.tld
 [global] 

 

RealURL sollte dann so konfiguriert werden (realurl_conf.php):

 

 $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array(
 '_DEFAULT' => array(
 'init' => array(
 'enableCHashCache' => true,
 'appendMissingSlash' => 'ifNotFile,redirect',
 'adminJumpToBackend' => true,
 'enableUrlDecodeCache' => false,
 'enableUrlEncodeCache' => false,
 'emptyUrlReturnValue' => '/'
 ),
 'pagePath' => array(
 'type' => 'user',
 'disablePathCache' => true,
 'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
 'spaceCharacter' => '-',
 'languageGetVar' => 'L',
 'rootpage_id' => '127' //hier richtige rootpage id einrichten
 ),
 'fileName' => array(
 'defaultToHTMLsuffixOnPrev' => 1,
 'acceptHTMLsuffix' => 1
 ),
 'preVars' => array(
 0 => array(
 'GETvar' => 'L',
 'valueMap' => array(
 'de' => '0',
 'en' => '1'
 ),
 'valueDefault' => 'de',
 'noMatch' => 'bypass'
 )
 ),
 'postVarSets' => array(
 '_DEFAULT' => array(
 'user' => array(
 array(
 'GETvar' => 'tx_srfeuserregister_pi1[regHash]'
 )
 )
 )
 )
 ),
 '_DOMAINS' => array(
 'encode' => array(
 array(
 'GETvar' => 'L',
 'value' => '0',
 'useConfiguration' => '_DEFAULT',
 'urlPrepend' => 'http://de.domain.tld',
 'ifDifferentToCurrent' => 'true'
 ),
 array(
 'GETvar' => 'L',
 'value' => '1',
 'useConfiguration' => '_DEFAULT',
 'urlPrepend' => 'http://en.domain.tld',
 'ifDifferentToCurrent' => 'true'
 )
 ),
 'decode' => array(
 'de.domain.tld' => array(
 'GETvars' => array(
 'L' => '0'
 ),
 'useConfiguration' => '_DEFAULT'
 ),
 'en.domain.tld' => array(
 'GETvars' => array(
 'L' => '1'
 ),
 'useConfiguration' => '_DEFAULT'
 )
 )
 )
 );
 $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['en.domain.tld'] = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT'];
 $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['en.domain.tld'] = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT'];
 ?>

 

 

Wichtig ist die Einstellung im encode Block: 'ifDifferentToCurrent' => 'true' dies führt dazu, dass die Domain nur an Links angehängt wird, wenn sie von der baseURL abweicht. Wenn die Option nicht angegeben wird, führt das dazu das auf https Seiten Formular Actions auf http zeigen. sr_feuser_register läuft damit z.B. nicht sauber. 

 

.htaccess muss natürlich mit mod_rewrite laufen. Das sollte aber Standard sein.

 

 RewriteEngine On
 
 RewriteBase /
 
 RewriteRule ^(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/ - [L]
 
 RewriteRule ^typo3$ typo3/index_re.php [L]
 
 RewriteCond %{REQUEST_FILENAME} !-f
 
 RewriteCond %{REQUEST_FILENAME} !-d
 
 RewriteCond %{REQUEST_FILENAME} !-l
 
 
 
 RewriteRule .* /index.php [L] 
Zurück zur Übersicht