[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