Конфигурация языкового домена TYPO3 RealURL
У нас есть следующие сценарии:
На сайте есть 3 домена.
- domain.de
- domain.eu
- domain.com.tr
TYPO3 уже настроен для мультиязычности, и идентификаторы для языков:
- по умолчанию (de) = 0
- en = 1
- tr = 2
Может ли кто-нибудь дать нам правильную конфигурацию RealURL для этого?
3 ответа
Попробуйте это, вам просто нужно переопределить конфигурацию по умолчанию для вашего другого субдомена.
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array (
'encodeSpURL_postProc' => array('user_encodeSpURL_postProc'),
'decodeSpURL_preProc' => array('user_decodeSpURL_preProc'),
'_DEFAULT' => array (
'init' => array (
'enableCHashCache' => '1',
'appendMissingSlash' => 'ifNotFile',
'enableUrlDecodeCache' => '1',
'enableUrlEncodeCache' => '1'
),
'redirects' => array (
),
'preVars' => array (
'0' => array (
'GETvar' => 'no_cache',
'valueMap' => array (
'nc' => '0'
),
'noMatch' => 'bypass',
),
'1' => array (
'GETvar' => 'L',
'valueMap' => array (
'de' => '0',
'en' => '1',
'tr' => '2'
),
'noMatch' => 'bypass'
),
),
'pagePath' => array (
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'rootpage_id' => '1'
),
'fixedPostVars' => array (
),
'postVarSets' => array (
'_DEFAULT' => array (
'archive' => array (
'0' => array (
'GETvar' => 'tx_ttnews[year]'
),
'1' => array (
'GETvar' => 'tx_ttnews[month]',
'valueMap' => array (
'january' => '01',
'february' => '02',
'march' => '03',
'april' => '04',
'may' => '05',
'june' => '06',
'july' => '07',
'august' => '08',
'september' => '09',
'october' => '10',
'november' => '11',
'december' => '12'
),
),
),
'page' => array (
'0' => array (
'GETvar' => 'tx_ttnews[pointer]'
),
),
'category' => array (
'0' => array (
'GETvar' => 'tx_ttnews[cat]',
'lookUpTable' => array (
'table' => 'tt_news_cat',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => '1',
'useUniqueCache_conf' => array (
'strtolower' => '1',
'spaceCharacter' => '-'
),
),
),
),
'article' => array (
'0' => array (
'GETvar' => 'tx_ttnews[tt_news]',
'lookUpTable' => array (
'table' => 'tt_news',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => '1',
'useUniqueCache_conf' => array (
'strtolower' => '1',
'spaceCharacter' => '-'
),
),
),
'1' => array (
'GETvar' => 'tx_ttnews[swords]'
),
),
),
),
'fileName' => array (
#'defaultToHTMLsuffixOnPrev' => '.html',
#'acceptHTMLsuffix' => 1,
'index' => array (
'rss.xml' => array (
'keyValues' => array (
'type' => '100'
),
),
'rss091.xml' => array (
'keyValues' => array (
'type' => '101'
),
),
'rdf.xml' => array (
'keyValues' => array (
'type' => '102'
),
),
'atom.xml' => array (
'keyValues' => array (
'type' => '103'
),
),
'sitemap.xml' => array (
'keyValues' => array (
'type' => '776'
),
),
),
),
)
);
/*
* All your other domain configuration goes here. Change your domain name
* and domain root page id as per your need.
*
*/
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['domain.de'] = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT'];
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['domain.de']['pagePath']['rootpage_id'] = '41'; // Change your sub-domain root page id
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['domain.eu'] = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT'];
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['domain.eu']['pagePath']['rootpage_id'] = '51'; // Change your sub-domain root page id
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['domain.com.tr'] = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT'];
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['domain.com.tr']['pagePath']['rootpage_id'] = '61'; // Change your sub-domain root page id
Пожалуйста, измените коды в соответствии с вашими потребностями. Надеюсь, что это поможет вам.
Привет!
Следующее решение позволяет определять язык по доменам:
<?php
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = [
'www.domain.de' => [ /* main configuration */,
'www.domain.eu' => 'www.domain.de',
'www.domain.tr' => 'www.domain.de',
'_DOMAINS' => [
'encode' => [
[
'GETvar' => 'L',
'value' => '0',
'useConfiguration' => 'www.domain.de',
'urlPrepend' => 'https://www.domain.de'
],
[
'GETvar' => 'L',
'value' => '1',
'useConfiguration' => 'www.domain.eu',
'urlPrepend' => 'https://www.domain.eu'
],
[
'GETvar' => 'L',
'value' => '2',
'useConfiguration' => 'www.domain.tr',
'urlPrepend' => 'https://www.domain.tr'
]
],
'decode' => [
'www.domain.de' => [
'GETvars' => [
'L' => '',
],
'useConfiguration' => 'www.domain.de',
],
'www.domain.eu' => [
'GETvars' => [
'L' => '1',
],
'useConfiguration' => 'www.domain.eu',
],
'www.domain.tr' => [
'GETvars' => [
'L' => '2',
],
'useConfiguration' => 'www.domain.tr',
]
]
];
Используйте нижеприведенную конфигурацию для нескольких доменов.
<?php
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']=array (
'_DEFAULT' =>
array (
'init' =>
array (
'appendMissingSlash' => 'ifNotFile,redirect',
),
'pagePath' =>
array (
'rootpage_id' => '1',
),
'fixedPostVars' => array(
),
'fileName' =>
array (
'defaultToHTMLsuffixOnPrev' => 0,
'acceptHTMLsuffix' => 1,
'index' =>
array (
'print' =>
array (
'keyValues' =>
array (
'type' => 98,
),
),
),
),
'preVars' =>
array (
0 =>
array (
'GETvar' => 'L',
'valueMap' =>
array (
'en' => '1',
'tr' => '2'
),
'noMatch' => 'bypass',
),
),
'postVarSets' =>array (
'_DEFAULT' =>array (
),
),
),
);
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['domain.de'] = $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'];
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['domain.de'] ['pagePath'] ['rootpage_id'] = '1'; //Root Page Id
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['domain.eu'] = $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'];
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['domain.eu'] ['pagePath'] ['rootpage_id'] = '169'; //Root Page Id
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['domain.com.tr'] = $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'];
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['domain.com.tr'] ['pagePath'] ['rootpage_id'] = '386'; //Root Page Id