Zum Inhalt springen

Gzip Komprimierung

Erstellt am 27. Februar 2011 · 6 Antworten · letzte Antwort am 1. März 2011

Tags: Frage

infastra ·

Hallo zusammen,

ich versuche bei einer Typo3 4.5-Instanz eine Gzip-Komprimierung der Javascript- und CSS-Dateien zu realisieren. Leider ohne Erfolg. Ich habe den Level der Kompression ([FE]/[BE][CompressionLevel]) auf 9 angepasst und auch in der htaccess folgende Zeilen auskommentiert:

<FilesMatch "\.js\.gzip$">
        AddType "text/javascript" .gzip
</FilesMatch>
<FilesMatch "\.css\.gzip$">
        AddType "text/css" .gzip
</FilesMatch>
AddEncoding gzip .gzip

Danach den Ordner typo3temp komplett geleert und auch den Cache von Typo3. Seite neu geladen und nichts komprimiert.

Welche technischen Voraussetzungen müssen erfüllt sein, damit Typo3 Javascript- und CSS-Dateien komprimiert werden? Muss ich noch ein weiteres Modul im Apache hinzufügen? Habe ich was anderes vergessen?

Der verwendete Browser ist ein Firefox 3.6 und das Typo3-System ist ein 4.5.2, welches von 4.4.6 geupdatet wurde.

Jemand eine Idee?

Vielen Dank,
Mathias

thn ·
infastra schrieb

Hallo zusammen,

ich versuche bei einer Typo3 4.5-Instanz eine Gzip-Komprimierung der Javascript- und CSS-Dateien zu realisieren. Leider ohne Erfolg.
Jemand eine Idee?

Mal ganz ohne TYPO3, sondern mit dem Apache (Debian GNU):
http://httpd.apache.org/docs/2.0/mod/mod_deflate.html

# a2enmod deflate
Enabling module deflate.
Run '/etc/init.d/apache2 restart' to activate new configuration!

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
# falls Du ein Log davon willst, dann noch:
# CustomLog /var/log/apache2/deflate_log deflate
</IfModule>

Gruss Tom

MorphexX ·

Soweit ich weiß, kannst du das mit 2 Wegen erreichen.

Allgemeines

In jedem Fall benötigst du folgende Zeilen in deiner .htacess:

<FilesMatch "\.js\.gzip$">
AddType "text/javascript" .gzip
</FilesMatch>
<FilesMatch "\.css\.gzip$">
AddType "text/css" .gzip
</FilesMatch>
AddEncoding gzip .gzip

TYPO3-seitige Komprimierung

In der localconf.php folgende Zeilen einfügen:

$TYPO3_CONF_VARS['BE']['compressionLevel'] = '5';
$TYPO3_CONF_VARS['FE']['compressionLevel'] = '5';

Serverseitig Komprimierung

Installiere das Apache-Modul "deflate" für serverseitige Komprimierung via SSH mit folgendem Befehl:

a2enmod deflate

und zwing Apache zum Reload der Konfig. mit folgendem Befehl:

/etc/init.d/apache2 force-reload

Anschließend benötigt die .htaccess noch Folgendes:

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
</IfModule>

infastra ·

Hallo,

vielen Dank für die Antwort. Ich habe das Modul deflate zum Apache hinzugefügt und neu gestartet. Danach die .htaccess mit den empfohlenen Zeilen befüllt (ans Ende der Datei). Am Ende den Ordner typo3temp geleert ... aber es funktioniert nicht. Zumindestens werden keine gezippten CSS und Javascript-Dateien erzeugt.

Ich finde es merkwürdig, hat jemand noch ne Idee?

Viele Grüße
Mathias

thn ·

Moin Mathias,

infastra schrieb

Hallo,

vielen Dank für die Antwort. Ich habe das Modul deflate zum Apache hinzugefügt und neu gestartet. Danach die .htaccess mit den empfohlenen Zeilen befüllt (ans Ende der Datei). Am Ende den Ordner typo3temp geleert ... aber es funktioniert nicht. Zumindestens werden keine gezippten CSS und Javascript-Dateien erzeugt.

Schreibs nicht in die .htaccess vom vhost, sondern in die apache2.conf & reload
Mit "life headers" (https://addons.mozilla.org/en-us/firefox/addon/live-http-headers/) kannst Du das Ganze danach komfortabel checken.

Gruss Tom

infastra ·

Hallo Tom,

ich habe die Einstellungen mal aus der vhost-Konfiguration herausgenommen und in die httpd.conf geschrieben. Server neugestartet und den Ordner geleert. Danach mit LiveHeaders draufgeschaut.

Typo3 liefert die statischen Templateelemente ohne Komprimierung aus. Die Dateien, die eigentlich im typo3temp-Ordner liegen, konnten nicht angelegt werden und somit auch nicht ausgeliefert werden.

Zum Komprimieren der Seiten wird doch nur das Apache-Modul deflate benötigt, oder?

Viele Grüße
Mathias