Zur Navigation

gZip komprimierung über.htacces

1 lizzy

Hallo Jörg,
Hallo geschätztes Forum,

ich möchte mich nun endlich mal der schnelleren Ladezeit meines Shops widmen.
Über das PageSpeed-Tool im Firefox bekomme ich den Vorschlag der gZip Komprimierung in folgender Form:

Die Komprimierung der folgenden Ressourcen mit gzip könnte ihre Übertragungsgröße um 48.1 KiB verringern (Reduzierung um 78 %).

    * Durch die Komprimierung von http://www.xyz.de/templates/xtc4/kifala.css könnten Sie 27.3 KiB einsparen (Reduzierung um 82 %).
    * Durch die Komprimierung von http://www.xyz.de/ könnten Sie 20.1 KiB einsparen (Reduzierung um 74 %).
    * Durch die Komprimierung von http://www.xyz.de/includes/functions.js könnten Sie 784 B einsparen (Reduzierung um 61 %).

Da der Shop (noch) auf einem Shared Server bei 1&1 liegt, sind meine direkten Einflussmöglichkeiten auf die Servereinstellungen wohl eher begrenzt. Über eine phpinfo.php sehe ich aber, dass gZip serverseitig wohl unterstützt wird:

...
HTTP_ACCEPT_CHARSET 	ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP_ACCEPT_ENCODING 	gzip,deflate
HTTP_ACCEPT_LANGUAGE 	de-de,de;q=0.8,en-us;q=0.5,en;q=0.3 
...

Nun stellt sich mir die Frage, wie ich dass über die .htaccess umsetzen kann. An anderer Stelle hier im Forum habe ich gefunden:

# BEGIN Gzip Compression
AddEncoding gzip .gz
<filesmatch "\.js\.gz$">
AddType "text/javascript" .gz
</filesmatch>
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME} \.(js|css)$
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]
</ifmodule>
# END Gzip Compression

Kann ich diesen Code einfach übernehmen und an beliebiger Stelle in meine bestehende .htaccess einbauen? Wahrscheinlich eher nicht, denn das Ausprobieren brachte leider keinen Erfolg (weder bei PageSpeed, noch über den Größenvergleich vorher/nachher beim Rechtsklick/Seiteninformationen im Firefox ...:-(
Kannst Du/ Könnt Ihr mir vielleicht einen Rat geben? Meine aktuelle .htaccess sieht so aus:

<IfModule mod_setenvif.c>
  <IfDefine SSL>
    SetEnvIf User-Agent ".*MSIE.*" \
             nokeepalive ssl-unclean-shutdown \
             downgrade-1.0 force-response-1.0
  </IfDefine>
</IfModule>

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.xyz.de$
RewriteRule ^ http://www.xyz.de%{REQUEST_URI} [L,R=301]

... und dann folgen zahlreiche einzelne 301-Weiterleitungen ...

Vielen Dank für Deine/ Eure Hilfe!
Grüße Lizzy

16.06.2011 11:09

2 Jörg Kruse

Zitat von lizzy
Über eine phpinfo.php sehe ich aber, dass gZip serverseitig wohl unterstützt wird:

...
HTTP_ACCEPT_CHARSET 	ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP_ACCEPT_ENCODING 	gzip,deflate
HTTP_ACCEPT_LANGUAGE 	de-de,de;q=0.8,en-us;q=0.5,en;q=0.3 
...

Das sind die Angaben des Browsers, der die phpinfo.php aufgerufen hat, und welcher vorgibt, komprimierte Dateien anzunehmen. Über die Fähigkeiten des Servers sagt dies nichts aus.

Wenn PHP wie bei 1und1 über (Fast)CGI läuft, wird die phpinfo.php keine Angaben darüber machen, welche Webserver-Module geladen sind

An anderer Stelle hier im Forum habe ich gefunden:

Du meinst diesen Thread

# BEGIN Gzip Compression
AddEncoding gzip .gz
<filesmatch "\.js\.gz$">
AddType "text/javascript" .gz
</filesmatch>
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME} \.(js|css)$
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]
</ifmodule>
# END Gzip Compression

Kann ich diesen Code einfach übernehmen und an beliebiger Stelle in meine bestehende .htaccess einbauen? Wahrscheinlich eher nicht, denn das Ausprobieren brachte leider keinen Erfolg (weder bei PageSpeed, noch über den Größenvergleich vorher/nachher beim Rechtsklick/Seiteninformationen im Firefox ...:-(

Horst_Braun hat am Anfang des Threads geschrieben, dass er zusätzlich die (bereits komprimierten) .js.gz dateien in den Ordner abgelegt hat. Da müsstest du dann genauso verfahren.

Falls mod_deflate zur Verfügung steht, kannst du alternativ die Direktive SetOutputFilter in der htaccess Datei nutzen, und als dritte Möglichkeit für PHP-Dateien die PHP-Funktion ob_gzhandler()

Auf dieser Seite sind alle drei Varianten erklärt:

http://www.webmaster-zentrale.de/technik/optimierung/webseiten-beschleunigen-teil-4-die-gzip-compression/

16.06.2011 15:12 | geändert: 16.06.2011 15:14

... 1 Monat später ...

3 lizzy

Hi Jörg,

auch wenn ein wenig verspätet: Ein großes Danke will ich nicht vergessen - Deine Ausführungen haben mir mal wieder sehr geholfen und Licht ins Dunkel gebracht!

Beste Grüße,
Lizzy

26.07.2011 10:12

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]