Zum Inhalt springen

RealUrl 2.0 multidomain multilanguage – Sprachparameter verschwindet nicht

Erstellt am 24. Juni 2016 · Noch keine Antworten

Tags: RealURL, URLs & Routing, Frage

winter ·

Hallo,

ich habe RealUrl so konfiguriert, dass den Websitesprachen Deutsch und Englisch unterschiedliche Domains zugeordnet sind, d.h. der L-Parameter wird nicht in Teile des Pfades, sondern als Domainname abgebildet:

  • Statt example-domain.org/en/ erhalte ich also example-domain-english.org

  • statt example-domain.org/de/ erhalte ich also example-domain-german.org

Bis RealUrl 1.13.6 funktionierte das sehr gut. Seit RealUrl 2.0 funktioniert es zwar weiterhin noch, doch wird jetzt fast allen Links zusätzlich ein "?L=0" bzw. "?L=1" angefügt (auf der englischen Seite fast immer, auf der deutschen Seite nur, wenn man von der englischen zurückkehrt), was ich nicht möchte:

  • example-domain-english.org/?L=1

  • example-domain-english.org/kontakt/?L=1

  • example-domain-german.org/?L=0

  • example-domain-german.org/contact/?L=0

  • usw.

Hat sich was bei der Konfiguration geändert bzw. was muss ich ändern?
Hier meine realurl_conf.php:

<?php

$GLOBALS['TYPO3_CONF_VARS']['FE']['addRootLineFields'] .= ',tx_realurl_pathsegment';

$domainDE = 'www.example-domain-german.org';
$domainEN = 'www.example-domain-english.org';

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array(
  '_DEFAULT' => array(
    .
    .
    .
  ),
  '_DOMAINS' => array(
    'encode' => array(
      array(
        'GETvar' => 'L',
        'value' => '',
        'ifDifferentToCurrent' => true,
        'useConfiguration' => '_DEFAULT',
        'urlPrepend' => 'http://'.$domainDE,
      ),
      array(
        'GETvar' => 'L',
        'value' => '0',
        'ifDifferentToCurrent' => true,
        'useConfiguration' => '_DEFAULT',
        'urlPrepend' => 'http://'.$domainDE,
      ),
      array(
        'GETvar' => 'L',
        'value' => '1',
        'ifDifferentToCurrent' => true,
        'useConfiguration' => '_DEFAULT',
        'urlPrepend' => 'http://'.$domainEN,
      )
    ),
    'decode' => array(
      $domainDE => array(
        'GETvars' => array(
          'L' => '',
        ),
        'useConfiguration' => '_DEFAULT',
      ),
      $domainEN => array(
        'GETvars' => array(
          'L' => '1',
        ),
        'useConfiguration' => '_DEFAULT',
      )
    )
  )
);

?>