TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

Cache trotz 'rlmp Language Detection'


Autor Nachricht
Verfasst am: 22. 06. 2007 [16:29]
enobe.de
Dabei seit: 08.02.2007
Beiträge: 115
Hallo Lösungssuchende,

ich möchte auf diesem Wege eine Lösung zum verbesserten Cacheverhalten der Seiten bei gleichzeitiger Nutzung der Extension: 'Language Detection' von Robert Lemke loswerden.

Die Extension 'rlmplanguagedetection' verhindert als USER_INT Object dass bei jedem Ihr übergebenen Seitenaufruf im ResponseHeader der Eintrag für die Dauer des Caches dieser Seite auf Null gesetzt wird (Expires: 0).

Bei größeren Webseiten ist das nicht von Vorteil, da hier mit unter die Besucherlast auf Kosten des Servers geht, und Performance einbusen die Folge sind.

Wer die Extension einsetzt, kann standardmäßig weder proxy- oder clientseitiges Cachen nutzen.

Um die richtigen Werte für das Caching auszugeben muß in der Konfiguration stehen:

TYPOSCRIPT
config.sendCacheHeaders = 1


Diese Funktion bleibt aber unter anderem auf den Seiten wirkungslos, in denen USER_INT Objekte genutzt werden.

Mit der Extention 'rlmplanguagedetection' steckt dieses Object in jedem Seiten-Rendering. Das USER_INT Object braucht es aber für die Funktion der Extension.

Da die Extension keine neuen Header mit 'Location' und dem GetParameter ausgibt, wenn dieser Parameter bereits in der URL vorhanden ist, braucht es diese USER_INT funktion folglich auch nicht bei jedem Seitenaufruf. Um sie denn in diesem Falle aus den Seiten-Rendering auch auszuschließen habe ich mich für folgendes Konzept entschieden, in dem via TypoScript die Extension einfach ausgeschlossen wird, wenn der GetParameter bereits existiert:

TYPOSCRIPT
# send Cache Headers
config.sendCacheHeaders = 1
# disable USER_INT 'rlmplanguagedetection' when GP:L exists
[globalVar=GP:L=0,GP:L>0]
plugin.tx_rlmplanguagedetection_pi1 >
[global]

Das funktioniert, und damit lässt sich die Extension auch wieder für Proxy- oder Clientseitiges Cachen nutzen.[/TS]

ProfilWWW