[TYPO3-german] Re: Re: Sprachparameter "L" immer anhängen

Hauke Hain newgrp at googlemail.com
Thu Jul 8 17:00:02 CEST 2010


Hallo Gabi,
hallo du,

vielen Dank für die schnelle Antwort.
Diese Konfiguration nutze ich auch. Das Ergebnis ist aber das von mir 
beschriebene.
Besonders ärgert mich, das google meine Website fast ausschließlich ohne 
mein de in der Domain indiziert.

Der Unterschied ist das
'noMatch' =>  'bypass'
welches bei mir nicht auskommentiert ist.
Ich habe es jetzt auskommentiert und ich gelange nun auf meine 404 
Fehlermeldungsseite, wenn kein Sprachparameter angegeben ist.
Das finde ich schonmal besser.

Ich handle meine 404 Fehlerseiten selbst und prüfe jetzt, ob die URL einen 
Sprachparameter enthält. Wenn nicht, mache ich ein 301 auf die gleiche URL 
mit dem Sprachparameter vorangestellt.

class user_pageNotFound {
    function pageNotFound($param, $ref) {
        if (!(preg_match('#^/de/#', $param['currentUrl']) || 
preg_match('#^/en/#', $param['currentUrl']))) {
                header('HTTP/1.1 301 Moved Permanently');
    	header('Location: /de' . $param['currentUrl']);
        }
    }
}

Aber nach wie vor fehlt es mir, die URLs zuverlässig einen L-Parameter 
ranzuhängen. Manchmal klappt es, aber oftmals auch nicht.

Ich habe nun herausgefunden, dass eben bereits einige URLs ohne 
Sprachparameter gespeichert waren. Daher habe ich sämtliche realURL Tabellen 
geleert und nun funktioniert es ohne Sprachparameter nicht (404). Somit 
greift wieder meine 301 Weiterleitung.

Soweit, sogut.

Was mich jetzt noch stört ist, dass ich an der Position eine beliebige 
Zeichenkette einfügen kann, und diese dann immer als Standardsprache 
interpretiert wird.

Ich habe 'noMatch' => 'bypass' nicht mehr auskommentiert, denn somit wird 
bei sinnlosen Parameters (besonders für die Sprache) die pageNotFound 
Funktion ausgeführt über die ich dann eine Weiterleitung versuche.

Gruß, Hauke

"Gabi Reimann" <gabi.reimann at online.de> schrieb im Newsbeitrag 
news:mailman.1.1278592528.5604.typo3-german at lists.typo3.org...
> Hallo Hauke,
>
> es müsste eigentlich so gehen:
> in der realurl_conf.php statt noMatch (handling für den Fall, dass der 
> Parameter nich angegeben ist) 'valueDefault' eingeben:
>
> $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
>         'preVars' =>  array(
>                 array(
>                         'GETvar' =>  'L',
>                         'valueMap' =>  array(
>                                 'de' =>  '0',
>                                 'en' =>  '1',
>                                 ),
>                         'valueDefault' =>  'de',
>                         # 'noMatch' =>  'bypass',
>                  )
>
> Gruß,
> Gabi
>
> Am 08.07.2010 00:05, schrieb Hauke Hain:
>> Hallo,
>>
>> ich nutze TYPO3 4.4 und realURL.
>> Ich habe das Problem, dass ich alle Domains mit dem Sprachparameter L=0
>> (=de in der URL) habe und einmal ohne.
>> Also:
>> www.testserver.de/de/startseite.html
>> und
>> www.testserver.de/startseite.html
>>
>> Wenn ich auf eine der Seiten bin, dann werden alle Links entweder mit
>> oder ohne Sprachparameter erstellt.
>> Ich möchte aber, dass der Sprachparameter immer angehängt wird und wenn
>> er in der aktuellen URL nicht existiert ein redirect auf die gleiche
>> Seite jedoch mit Sprachparameter erfolgt.
>>
>> Hat das jemand schon gelöst oder habt ihr dafür Vorschläge für die
>> Umsetzung?
>>
>> Danke im Voraus!
>>
>> Hauke
> 


More information about the TYPO3-german mailing list