[TYPO3-english] urgent minijob - realurl/multidomain/multilanguage/singletree

Rik Willems rik at actiview.nl
Sun Jan 24 10:44:18 CET 2010


Hi Guido,

Thanks for posting this solution. I think it can come in handy one day 
for me or anyone else.

Cheers!

G.Unger schreef:
> of cause I can Rik ;)
> 
> as explained I had a propper setup already working.
> =>   domain.de lead to domain.com/de/...
>     domain.com lead to domain.com/en/...
> 
> the guys who helped out were ilya and joey, so all credits go to them.
> 
> first create the domain records in T3 without redirect, just the domain 
> records.
> then set propper baseURL in TS (see below).
> 
> finally ilya altered a little the '_DOMAINS' array.
> 
> so my realurlconf looks like this:
> 
> ******************
> <?php
> 
> /**
> * RealURL helper script
> *
> * @author Michael Cannon <michael at cannonbose.com>
> * @version $Id: realurl.php,v 1.8 2008/04/02 21:26:54 cannon Exp $
> */
> 
> // Prevent new realurl updates from clearing cache
> // 
> unset($TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearAllCache_additionalTables']['tx_realurl_pathcache']); 
> 
> 
> //
> realurl naming precedence configuration
> 
> $TYPO3_CONF_VARS['FE']['addRootLineFields'] .= 
> ',tx_realurl_pathsegment,alias,title';
> 
> $TYPO3_CONF_VARS['EXTCONF']['realurl'] = array();
> $TYPO3_CONF_VARS['EXTCONF']['realurl']['www.domain.de'] = array(
>     'init' => array(
>         'enableCHashCache' => true
>         , 'appendMissingSlash' => 'ifNotFile'
>         //, 'adminJumpToBackend' => true
>         , 'enableUrlDecodeCache' => true
>         , 'enableUrlEncodeCache' => true
>         //, 'emptyUrlReturnValue' => '/'
>         // Allow for proper SEO 404 handling
>         //, 'postVarSet_failureMode' => ''
>     )
>     , 'redirects'        => array()
>    , 'preVars' => array (
>            '0' => array (
>                'GETvar' => 'no_cache',
>                'valueMap' => array (
>                    // 'nc' => '1'
>                ),
>                'noMatch' => 'bypass'
>            ),
>            '1' => array (
>                'GETvar' => 'L',
>                  'valueMap' => array(
>                        'en' => '1',
>                  ),
>                'noMatch' => 'bypass',
>            ),
>        )
>     , 'pagePath' => array(
>         'type'            => 'user'
>         , 'userFunc' => 
> 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main'
>         , 'spaceCharacter'    => '-'
>         , 'languageGetVar'    => 'L'
>         , 'rootpage_id'        => 1
>         , 'segTitleFieldList'    => 'tx_realurl_pathsegment,alias,title'
>         , 'autoUpdatePathCache'=>'1'
>     )
>     , 'fixedPostVars'    => array()
>     , 'postVarSets' => array(
>         '_DEFAULT' => array(
>             // news archive parameters
>             'archive' => array(
>                 array(
>                     'GETvar' => 'tx_ttnews[year]'
>                 )
>                 , array(
>                     'GETvar' => 'tx_ttnews[month]'
>                     // MLC uncomment if month names instead of numbers are
>                     // desired
>                     /*
>                     , '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',
>                     )
>                     */
>                 )
>                 , array(
>                     'GETvar' => 'tx_ttnews[day]'
>                 )
>             )
>             // news pagebrowser
>             , 'npage' => array(
>                 array(
>                     'GETvar' => 'tx_ttnews[pointer]'
>                 )
>             )
>             // news category
>             , 'article-cat' => array (
>                 array(
>                     'GETvar' => 'tx_ttnews[cat]'
>                     , 'lookUpTable' => array(
>                         'table' => 'tt_news_cat'
>                         , 'id_field' => 'uid'
>                         , 'alias_field' => 'title'
>                         , 'addWhereClause' => ' AND deleted != 1'
>                         , 'useUniqueCache' => 1
>                         , 'useUniqueCache_conf' => array(
>                             'strtolower' => 1
>                         ),
>                     ),
>                 ),
>             )
>             // news item
>             , 'article' => array(
>                 array(
>                     'GETvar' => 'tx_ttnews[tt_news]'
>                     , 'lookUpTable' => array(
>                         'table' => 'tt_news'
>                         , 'id_field' => 'uid'
>                         // MLC Goolge wants uniqueness for spidering
>                         // , 'alias_field' => 'concat(title, " ", uid)'
>                         , 'alias_field' => 'title'
>                         , 'addWhereClause' => ' AND deleted != 1'
>                         , 'useUniqueCache' => 1
>                         , 'useUniqueCache_conf' => array(
>                             'strtolower' => 1
>                             , 'spaceCharacter' => '-'
>                         )
>                     )
>                 )
>                 , array(
>                     'GETvar' => 'tx_ttnews[swords]'
>                 )
>             )
>             , 'nbp' => array(
>                 array(
>                     'GETvar' => 'tx_ttnews[backPid]'
>                 )
>             )
>             , 'nq' => array(
>                 array(
>                     'GETvar' => 'news_search[search_text]'
>                 )
>             )
>             , 'nqc' => array(
>                 array(
>                     'GETvar' => 'news_search[category][]'
>                 )
>             )
>             , 'login'    => array(
>                 array(
>                     'GETvar'    => 'tx_newloginbox_pi3[showUid]'
>                 )
>             )
>             , 'forgot-login'    => array(
>                 array(
>                     'GETvar'    => 'tx_newloginbox_pi1[forgot]'
>                 )
>             )
>             , 'search'    => array(
>                 array(
>                     'GETvar'    => 'tx_indexedsearch[sword]'
>                 )
>                 , array(
>                     'GETvar'    => 'tx_indexedsearch[ext]'
>                 )
>                 , array(
>                     'GETvar'    => 'tx_indexedsearch[submit_button]'
>                 )
>                 , array(
>                     'GETvar'    => 'tx_indexedsearch[_sections]'
>                 )
>                 , array(
>                     'GETvar'    => 'tx_indexedsearch[pointer]'
>                 )
>             )
>             , 'srfu'    => array(
>                 array(
>                     'GETvar'    => 'tx_srfeuserregister_pi1[cmd]'
>                 )
>                 , array(
>                     'GETvar'    => 'tx_srfeuserregister_pi1[pointer]'
>                 )
>                 , array(
>                     'GETvar'    => 'tx_srfeuserregister_pi1[mode]'
>                 )
>                 , array(
>                     'GETvar'    => 'tx_srfeuserregister_pi1[sword]'
>                 )
>                 , array(
>                     'GETvar'    => 'tx_srfeuserregister_pi1[sort]'
>                 )
>             )
>             , 'scal'    => array(
>                 array(
>                     'GETvar'    => 'tx_desimplecalendar_pi1[showUid]'
>                 )
>                 , array(
>                     'GETvar'    => 'tx_desimplecalendar_pi1[form]'
>                 )
>                 , array(
>                     'GETvar'    => 'tx_desimplecalendar_pi1[mode]'
>                 )
>                 , array(
>                     'GETvar'    => 'tx_desimplecalendar_pi1[backPath]'
>                 )
>             )
>             , 'calender-category'    => array(
>                 array(
>                     'GETvar'    => 'tx_advCalendar_pi1[category]'
>                 )
>             )
>             , 'view' => array(
>                 array(
>                     'GETvar' => 'view'
>                 )
>             )
>             , 'cforum'        => array(
>                 array(
>                     'GETvar' => 'cat_uid'
>                 )
>                 , array(
>                     'GETvar' => 'conf_uid'
>                 )
>                 , array(
>                     'GETvar' => 'thread_uid'
>                 )
>                 , array(
>                     'GETvar' => 'page'
>                 )
>                 , array(
>                     'GETvar' => 'flag'
>                 )
>             )
>             , 'event' => array(
>                 array(
>                     'GETvar' => 'eventid'
>                 )
>             )
>             , 'ef' => array(
>                 array(
>                     'GETvar' => 'editflag'
>                 )
>             )
>             , 'start' => array(
>                 array(
>                     'GETvar' => 'start'
>                 )
>             )
>             , 'day' => array(
>                 array(
>                     'GETvar' => 'day'
>                 )
>             )
>             , 'week' => array(
>                 array(
>                     'GETvar' => 'week'
>                 )
>             )
>             , 'month' => array(
>                 array(
>                     'GETvar' => 'month'
>                 )
>             )
>             , 'bu' => array(
>                 array(
>                     'GETvar' => 'backURL'
>                 )
>             )
>             , 'cmd' => array(
>                 array(
>                     'GETvar' => 'cmd'
>                 )
>             )
>             , 'year' => array(
>                 array(
>                     'GETvar' => 'year'
>                 )
>             )
>             , 'rdfi' => array(
>                 array(
>                     'GETvar' => 'tx_nrdfimport_pi1[showUid]'
>                 )
>             )
>             , 'sponsor'    => array(
>                 array(
>                     'GETvar'    => 'tx_t3consultancies_pi1[showUid]'
>                     , 'lookUpTable' => array(
>                         'table' => 'tx_t3consultancies'
>                         , 'id_field' => 'uid'
>                         , 'alias_field' => 'title'
>                         , 'addWhereClause' => ' AND deleted != 1'
>                         , 'useUniqueCache' => 1
>                         , 'useUniqueCache_conf' => array(
>                             'strtolower' => 1
>                             , 'spaceCharacter' => '-'
>                         )
>                     )
>                 )
>                 , array(
>                     'GETvar'    => 'tx_t3consultancies_pi1[service]'
>                 )
>                 , array(
>                     'GETvar'    => 'tx_t3consultancies_pi1[pointer]'
>                 )
>             )
>             , 'slide-show'    => array(
>                 array(
>                     'GETvar'    => 'tx_gsislideshow_pi1[total]'
>                 )
>                 , array(
>                     'GETvar'    => 'tx_gsislideshow_pi1[lastUid]'
>                 )
>                 , array(
>                     'GETvar'    => 'tx_gsislideshow_pi1[firstUid]'
>                 )
>                 , array(
>                     'GETvar'    => 'tx_gsislideshow_pi1[current]'
>                 )
>                 , array(
>                     'GETvar'    => 'tx_gsislideshow_pi1[showUid]'
>                     , 'lookUpTable' => array(
>                         'table' => 'tx_gsislideshow_images'
>                         , 'id_field' => 'uid'
>                         , 'alias_field' => 'caption'
>                         , 'addWhereClause' => ' AND deleted != 1'
>                         , 'useUniqueCache' => 1
>                         , 'useUniqueCache_conf' => array(
>                             'strtolower' => 1
>                             , 'spaceCharacter' => '-'
>                         )
>                     )
>                 )
>             )
>             , 'tac' => array(
>                 array(
>                     'GETvar' => 'tac'
>                 )
>             )
>             , 'bp' => array(
>                 array(
>                     'GETvar' => 'backPID'
>                 )
>             )
>             , 'product' => array(
>                 array(
>                     'GETvar' => 'tt_products'
>                     , 'lookUpTable' => array(
>                         'table' => 'tt_products'
>                         , 'id_field' => 'uid'
>                         // MLC Goolge wants uniqueness for spidering
>                         , 'alias_field' => 'concat(title, " ", uid)'
>                         , 'addWhereClause' => ' AND deleted != 1'
>                         , 'useUniqueCache' => 1
>                         , 'useUniqueCache_conf' => array(
>                             'strtolower' => 1
>                         ),
>                     )
>                 )
>             )
>             // MLC Bahag photo gallery
>             , 'gallery' => array(
>                 array(
>                     'GETvar' => 'gallery'
>                 )
>             )
>             , 'image' => array(
>                 array(
>                     'GETvar' => 'viewImage'
>                 )
>             )
>             , 'rp' => array(
>                 array(
>                     'GETvar' => 'resultPage'
>                 )
>             )
>             , 'idx' => array(
>                 array(
>                     'GETvar' => 'idx'
>                 )
>             )
>             , 'anmode' => array (
>                     array('GETvar' => 'tx_piapappnote_pi1[mode]')
>             )
>             , 'anptr' => array (
>                     array('GETvar' => 'tx_piapappnote_pi1[pointer]')
> )
>             , 'anfile' => array (
>                     array('GETvar' => 'tx_piapappnote_pi1[file]')
>             )
>             , 'anseach' => array (
>                     array('GETvar' => 'tx_piapappnote_pi1[sword]')
>             )
>             , 'annote' => array (
>                     array('GETvar' => 'tx_piapappnote_pi1[noteid]')
>             )
>             , 'anauth' => array (
>                     array('GETvar' => 'tx_piapappnote_pi1[author]')
>             )
>             , 'anname' => array (
>                     array('GETvar' => 'tx_piapappnote_pi1[title]')
>             )
>             , 'andesc' => array (
>                     array('GETvar' => 'tx_piapappnote_pi1[description]')
>             )
>             , 'ancat' => array (
>                     array('GETvar' => 'tx_piapappnote_pi1[categorylist]')
>             )
>             , 'anver' => array (
>                     array('GETvar' => 'tx_piapappnote_pi1[versionlist]')
>             )
>             , 'andev' => array (
>                     array('GETvar' => 'tx_piapappnote_pi1[devicelist]')
>             )                                                   
>             , 'galp' => array (
>                     array('GETvar' => 'tx_hldamgallery_pi1[galleryPID]')
>             )                                                   
>             , 'galcat' => array (
>                     array('GETvar' => 'tx_hldamgallery_pi1[galleryCID]')
>             )                                                   
>             , 'galimg' => array (
>                     array('GETvar' => 'tx_hldamgallery_pi1[imgID]')
>             )                                                   
>             , 'faq-category' => array (
>                     array('GETvar' => 'tx_irfaq_pi1[cat]'
>                         , 'lookUpTable' => array(
>                             'table' => 'tx_irfaq_cat'
>                             , 'id_field' => 'uid'
>                             , 'alias_field' => 'title'
>                             , 'addWhereClause' => ' AND deleted != 1'
>                             , 'useUniqueCache' => 1
>                             , 'useUniqueCache_conf' => array(
>                                 'strtolower' => 1
>                                 , 'spaceCharacter' => '-'
>                             )
>                     )
>                 )
>             )                                                   
>             // page comments
>             , 'skcomm' => array(
>                     array(
>                         'GETvar' => 'tx_skpagecomments_pi1[showComments]',
>                     ),
>                     array(
>                         'GETvar' => 'tx_skpagecomments_pi1[showForm]',
>                     ),
>             )
>             // ab_downloads
>             , 'dl-act' => array(
>                 array(
>                     'GETvar' => 'tx_abdownloads_pi1[action]',
>                     'valueMap' => array(
>                         'show-category' => 'getviewcategory',
>                         'propose-a-new-download' => 
> 'getviewaddnewdownload',
>                         'open-download' => 'getviewclickeddownload',
>                         'show-details-for-download' => 
> 'getviewdetailsfordownload',
>                         'report-broken-download' => 
> 'getviewreportbrokendownload',
>                         'rate-download' => 'getviewratedownload',
>                     ),
>                 ),
>             )
>             , 'dl-cat' => array(
>                 array(
>                     'GETvar' => 'tx_abdownloads_pi1[category_uid]',
>                     'valueMap' => array(
>                         'home' => '0',
>                     ),
>                     'lookUpTable' => array(
>                         'table' => 'tx_abdownloads_category',
>                         'id_field' => 'uid',
>                         'alias_field' => 'label',
>                         'addWhereClause' => ' AND deleted != 1',
>                         'useUniqueCache' => 1,
>                         'useUniqueCache_conf' => array(
>                             'strtolower' => 1,
>                             'spaceCharacter' => '-',
>                         ),
>                     ),
>                 ),
>             )
>             , 'dl-file' => array(
>                 array(
>                     'GETvar' => 'tx_abdownloads_pi1[uid]',
>                     'lookUpTable' => array(
>                         'table' => 'tx_abdownloads_download',
>                         'id_field' => 'uid',
>                         'alias_field' => 'label',
>                         'addWhereClause' => ' AND deleted != 1',
>                         'useUniqueCache' => 1,
>                         'useUniqueCache_conf' => array(
>                             'strtolower' => 1,
>                             'spaceCharacter' => '-',
>                         ),
>                     ),
>                 ),
>             )
>             , 'dl-ptr' => array(
>                 array(
>                     'GETvar' => 'tx_abdownloads_pi1[pointer]',
>                 ),
>             )
>             , 'll-act' => array(
>                 array(
>                     'GETvar' => 'tx_ablinklist_pi1[action]',
>                     'valueMap' => array(
>                         'show-category' => 'getviewcategory',
>                         'propose-a-new-link' => 'getviewaddnewlink',
>                         'open-link' => 'getviewclickedlink',
>                         'show-details-for-link' => 'getviewdetailsforlink',
>                         'report-broken-link' => 'getviewreportbrokenlink',
>                         'rate-link' => 'getviewratelink',
>                     ),
>                 ),
>             )
>             , 'll-cat' => array(
>                 array(
>                     'GETvar' => 'tx_ablinklist_pi1[category_uid]',
>                     'valueMap' => array(
>                         'home' => '0',
>                     ),
>                     'lookUpTable' => array(
>                         'table' => 'tx_ablinklist_category',
>                         'id_field' => 'uid',
>                         'alias_field' => 'label',
>                         'addWhereClause' => ' AND deleted != 1',
>                         'useUniqueCache' => 1,
>                         'useUniqueCache_conf' => array(
>                             'strtolower' => 1,
>                             'spaceCharacter' => '-',
>                         ),
>                     ),
>                 ),
>             )
>             , 'll-link' => array(
>                 array(
>                     'GETvar' => 'tx_ablinklist_pi1[uid]',
>                     'lookUpTable' => array(
>                         'table' => 'tx_ablinklist_link',
>                         'id_field' => 'uid',
>                         'alias_field' => 'label',
>                         'addWhereClause' => ' AND deleted != 1',
>                         'useUniqueCache' => 1,
>                         'useUniqueCache_conf' => array(
>                             'strtolower' => 1,
>                             'spaceCharacter' => '-',
>                         ),
>                     ),
>                 ),
>             )
>             , 'll-ptr' => array(
>                 array(
>                     'GETvar' => 'tx_ablinklist_pi1[pointer]',
>                 ),
>             )
>             , 'cal'=> array(
>                 array(
>                     'GETvar' => 'tx_cal_controller[view]'
>                 ),
>                 array(
>                     'GETvar' => 'tx_cal_controller[getdate]'
>                 ),
>                 array(
>                     'GETvar' => 'tx_cal_controller[lastview]'
>                 ),
>                 array(
>                     'GETvar' => 'tx_cal_controller[type]'
>                 ),
>                 array(
>                     'GETvar' => 'tx_cal_controller[category]',
>                     'lookUpTable' => array(
>                         'table' => 'tx_cal_category',
>                         'id_field' => 'uid',
>                         'alias_field' => 'title',
>                         'addWhereClause'  => ' AND deleted != 1',
>                         'useUniqueCache' => 1,
>                         'useUniqueCache_conf' => array(
>                             'strtolower' => 1,
>                             'spaceCharacter' => '-',
>                          ),
>                    
>                     ),
>                 ),
>                 array(
>                     'GETvar' => 'tx_cal_controller[uid]',
>                     'lookUpTable' => array(
>                         'table' => 'tx_cal_event',
>                         'id_field' => 'uid',
>                         'alias_field' => 'title',
>                         'addWhereClause'  => ' AND deleted != 1',
>                         'useUniqueCache' => 1,
>                         'useUniqueCache_conf' => array(
>                             'strtolower' => 1,
>                             'spaceCharacter' => '-',
>                         ),
>                     ),
>                 ),
>             )
>             // MLC commented out to prevent duplicating URLs
>             /*
>             , 'ch' => array(
>                 array(
>                     'GETvar' => 'cHash',
>                 ),
>             ),
>             */
>         )
>     )
>     , 'fileName' => array (
>         'index' => array(
>             'index.html' => array(
>                 'keyValues' => array(
>                     'type' => 0,
>                 )
>             )
>             , 'print.html' => array(
>                 'keyValues' => array(
>                     'type' => 98,
>                 )
>             )
>             , 'rss.html' => array(
>                 'keyValues' => array(
>                     'type' => 100,
>                 )
>             )
>             , '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' => 200,
>                 )
>             )
>             , '_DEFAULT' => array(
>                 'keyValues' => array()
>             )
>         )
>         , 'defaultToHTMLsuffixOnPrev' => 1
>         , 'acceptHTMLsuffix' => 1
>     )
> );
> 
> $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DOMAINS'] = array (
>         'encode' => array (
>             array (
>                 'GETvar' => 'L',
>                 'value' => '0',
>                 'ifDifferentToCurrent' => true,
>                 'useConfiguration' => 'www.domain.de',
>                 'urlPrepend' => 'http://www.domain.de',
>             ),
>             array (
>                 'GETvar' => 'L',
>                 'value' => '1',
>                 'ifDifferentToCurrent' => false,
>                 'useConfiguration' => 'www.domain.com',
>                 'urlPrepend' => 'http://www.domain.com',
>             ),
>         ),
>         'decode' => array (
>             '/\.de$/' => array (
>                 'GETvars' => array (
>                     'L' => '0',
>                 ),
>                 'useConfiguration' => 'www.domain.de',
>             ),
>             '/\.com$/' => array (
>                 'GETvars' => array (
>                     'L' => '1',
>                 ),
>                 'useConfiguration' => 'www.domain.com',
>             ),
>         ),
> );
> 
> $TYPO3_CONF_VARS['EXTCONF']['realurl']['www.domain.com'] = 
> $TYPO3_CONF_VARS['EXTCONF']['realurl']['www.domain.de']
> 
> ?>
> ******************
> 
> I do not use the ext by Michael Cannon, I just use the conf file as a 
> template so to say.
> 
> 
> 
> 
> ts config part:
> 
> ******************
> ## general Language Settings
> 
> config.linkVars = L
> config.uniqueLinkVars = 1
> 
> 
> ## default german
> 
> config.sys_language_uid = 0
> config.metaCharset = utf-8
> config.locale_all = de_DE.UTF-8
> config.language = de
> config.baseURL = http://www.domain.de/
> 
> [globalVar = GP:L = 0]
> config.sys_language_uid = 0
> config.metaCharset = utf-8
> config.locale_all = de_DE.UTF-8
> config.language = de
> config.baseURL = http://www.domain.de/
> [global]
> 
> 
> ## english
> 
> [globalVar = GP:L = 1]
> config.sys_language_uid = 1
> config.locale_all = en_GB.UTF-8
> config.metaCharset = utf-8
> config.language = en
> config.baseURL = http://www.domain.com/
> [global]
> 
> ******************
> 
> where domain.de is my first domain pointing to german and is the default 
> language. the second domain.com is for english and in my provider 
> settings I point the webroot of the .com domain to the webroot of the 
> .de domain, where typo3 is installed.
> 
> btw it workz here for me without the patch provided by stefan isak which 
> I didn't even test as it seems to work without.
> 
> thx again to ilya and joey
> rgds guido
> 
> 
> 
> 
> 
> 
> 


More information about the TYPO3-english mailing list