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
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
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>
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
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
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
Ob Deflate korrekt funktioniert, teste ich immer via Web Developer für den Firefox (https://addons.mozilla.org/de/firefox/addon/web-developer/)
Rechtsklick auf der Website > Web Developer > Informationen > Dokumentgröße anzeigen. Danach sollte aufgelistet werden, wo die Komprimierung überall angewandt wird.