RealURL und Multidomain

Share

Es gibt sicher schon reichlich Tutorials zum Thema “RealURL für Multidomain-Umgebung” . Ich möchte hier in erster Linie zwei Alternativen aufzeigen, wie die realurl_conf.php für eine Multidomain-Umgebung konfiguriert werden kann.
Vorab: bitte jede Datei vor der Bearbeitung kopieren. Kleine Fehler können zum Ausfall des ganzen CMS führen. 

1. .htaccess erweitern

In der Installation der Extension RealURL ist eine Datei _.htaccess zu finden. Aktueller Inhalt:

RewriteEngine On
RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php

Diese Anweisungen sind in bestehende .htaccess zu übernehmen.

2. realurl_conf.php anpassen

Die erste Möglichkeit, der RealURL Multidomain beizubringen, ist es, die ROOTPID als Array zu definieren. Im pagePath wird das Array dann mit

'rootpage_id' => $RootPID[$_SERVER['HTTP_HOST']],

ausgewertet.


<span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;"><?php </span>
<pre>$RootPID = array(
                'www.feelfreecoach.de' => '83',
		'seo.feelfreeconsult.de' => '124',
		);

$TYPO3_CONF_VARS['EXTCONF']['realurl'] = array(
    '_DEFAULT' => array(
        'init' => array(
            'enableCHashCache' => 1,
			'appendMissingSlash' => 'ifNotFile',
			'enableUrlDecodeCache' => 1,
			'enableUrlEncodeCache' => 1,
			'respectSimulateStaticURLs' => 0,
			'postVarSet_failureMode'=>'',
        ),
        'redirects_regex' => array (
		),
        'preVars' => array(
            array(
                'GETvar' => 'no_cache',
                'valueMap' => array(
		'no_cache' => 1,
                'nc' => 1,
                ),
                'noMatch' => 'bypass',
            ),
            array(
                'GETvar' => 'L',
                'valueMap' => array(
                'de' => '0',
		'en' => '1',
                ),
                'noMatch' => 'bypass',
            ),
        ),
        'pagePath' => array(
            'type' => 'user',
            'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
            'spaceCharacter' => '-',
            'languageGetVar' => 'L',
            'expireDays' => 3,
	    'rootpage_id' => $RootPID[$_SERVER['HTTP_HOST']],
        ),
        'postVarSets' => array(
            '_DEFAULT' => array(
                // news archive parameters
                'archive' => array(
                    array(
                        'GETvar' => 'tx_ttnews[year]' ,
                        ),
                    array(
                        'GETvar' => 'tx_ttnews[month]' ,
                        'valueMap' => array(
                            'januar' => '01',
                            'februar' => '02',
                            'maerz' => '03',
                            'april' => '04',
                            'may' => '05',
                            'juni' => '06',
                            'juli' => '07',
                            'august' => '08',
                            'september' => '09',
                            'oktober' => '10',
                            'november' => '11',
                            'dezember' => '12',
                            )
                        ),
                    ),
                // news pagebrowser
                'browse' => array(
                    array(
                        'GETvar' => 'tx_ttnews[pointer]',
                        ),
                    ),
                // news categories
                'select_category' => array (
                    array(
                        'GETvar' => 'tx_ttnews[cat]',
                        ),
                    ),
                // news articles and searchwords
                'article' => array(
                    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' => '-',
                                ),
                            ),
                        ),
                    array(
                        'GETvar' => 'tx_ttnews[swords]',
                        ),
                    array(
                        'GETvar' => 'tx_ttnews[backPid]',
                        ),
                    ),
                ),
            ),
        // configure filenames for different pagetypes
        'fileName' => array(
            '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' => 841132,
		    ),
		),
            ),
        ),
    ),
);
php?>

Die zweite Möglichkeit ist, am Ende der realurl_conf.php vor dem schließenden php?> die folgenden Zeilen einzugeben:


<pre>$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT']['enableDomainLookup'] = 1;
$TYPO3_CONF_VARS['EXTCONF']['realurl']['www.feelfreecoach.de'] = $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'];
$TYPO3_CONF_VARS['EXTCONF']['realurl']['www.feelfreecoach.de']['pagePath']['rootpage_id'] = 83;
$TYPO3_CONF_VARS['EXTCONF']['realurl']['www.search-and-recruit.de'] = $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'];
$TYPO3_CONF_VARS['EXTCONF']['realurl']['www.search-and-recruit.de']['pagePath']['rootpage_id'] = 142;

Das Array zur ROOTPID entfällt hier natürlich!
Die Beschreibung hier umfasst meine Installation. Anzupassen sind in Bezug auf Multidomain jeweils die Domain und die rootpage_id. Ach ja, als type für sitemap.xml verwende ich 841132, da ich zur Generierung der sitemap.xml die Extension tq_seo einsetze.

3. RealURL im TYPO3 Backend

Diese Parameter kommen ins Setup des jewiligen Root-Templates:

config.simulateStaticDocuments = 0
config.baseURL = http:/ /www.domain.de/
config.tx_realurl_enable = 1

Nun wird TYPO3 mitgeteilt, dass es sich hier um eine Multidomain-Umgebung handelt.

Multidomain - die WurzelebeneÜber Template -> Auswahl Rootseite -> Vollständigen Template-Datensatz bearbeiten -> Reiter Optionen komme ich auf dieses Formular. Hier ist Wurzelebene anzuklicken.

MUltidomain - Domain eintragenÜber Liste -> Auswahl Rootseite -> Neuen Datensatz erstellen (Plus auf grünem Kreis) ordne ich dieser Rootseite eine Domain in der Form www.search-and-recruit.de zu.

Fertig!

Für detailiertere Informationen zu RealURL empfehle ich zwei Artikel von Dmitry Dupolev:

Und natürlich die Dokumentation zu RealURL  im TER.

Verwandte Beiträge:

  1. RealURL – redirects_regex
  2. sitemap.xml und Google WMT
  3. HTTPS-Verbindung für TYPO3-Backend

Kommentieren ist momentan nicht möglich.