RealURL Tutorial zur Konfiguration

Auf dieser Seite finden sie eine RealURL Konfiguration, die in vielen Fällen ohne sehr viele Anpassungen funktionieren sollte.

TypoScript Setup

config {
    prefixLocalAnchors = all
    // simulateStaticDocuments = 0 Mit installierter Extension funktioniert RealURL nicht!
    baseURL = http://www.domain.tld/
    absRelPath = /
    tx_realurl_enable = 1
}

In TypoScript wird mit diesen Zeilen RealUrl aktiviert und gegebenenfalls SimulateStaticDocuments deaktiviert.

Anzupassen wäre die baseURL mit der richtigen Domain. Bei aktuelleren TYPO3/RealURL Versionen sollte anstatt baseURL absRefPrefix verwendet werden.

prefixLocalAnchors sorgt dafür, dass Ankerpunkte auch bei Verwendung von RealURL auf einer Seite richtig angesprungen werden können.

typo3conf/realurl_conf.php

<?php
// $GLOBALS['TYPO3_CONF_VARS']['FE']['addRootLineFields'].= ',tx_realurl_pathsegment'; // Nicht mehr nötig
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array(
  '_DEFAULT' => array(
    'init' => array(
      'enableCHashCache' => 1,
      'appendMissingSlash' => 'ifNotFile',
      'enableUrlDecodeCache' => 1,
      'enableUrlEncodeCache' => 1,
      'postVarSet_failureMode' => '',
    ),
    'redirects' => array(),
    'preVars' => array(
      array(
        'GETvar' => 'no_cache',
          'valueMap' => array(
            'nc' => 1,
          ),
          'noMatch' => 'bypass',
        ),
        array(
          'GETvar' => 'L',
          'valueMap' => array(
            # 'de' => '0',
            'en' => '1',
          ),
          'valueDefault' => 'de',
          'noMatch' => 'bypass',
        ),
      ),
      'pagePath' => array(
        'type' => 'user',
        'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
        'spaceCharacter' => '-',
        'languageGetVar' => 'L',
        'expireDays' => 7,
        'rootpage_id' => 1,
        'firstHitPathCache' => 1,
      ),
      'fixedPostVars' => array(),
      'postVarSets' => array(
        '_DEFAULT' => array(
          // news archive parameters
          'archive' => array(
            array(
              'GETvar' => 'tx_ttnews[year]' ,
            ),
            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',
            )
          ),
        ),
        // 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[backPid]',
          ),
          array(
            'GETvar' => 'tx_ttnews[swords]',
          ),
        ),
      ),
    ),
    // configure filenames for different pagetypes
    'fileName' => array(
      'defaultToHTMLsuffixOnPrev' => 0,
      'index' => array(
        'print.html' => array(
          'keyValues' => array(
            'type' => 98,
          ),
        ),
        '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,
          ),
        ),
      ),
    ),
  ),
);

Einträge in der .htaccess-Datei

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

In der .htaccess-Datei müssen die Zeilen 2 und 8 gegenüber der Vorlage aus dem dummy-Paket modifiziert werden.