gelöschter Benutzer
GZIP-Komrimierung per .htaccess
Habe mir heute mal die Zeit genommen alle Daten auf meinem Server zu komprimieren.
GZIP-Komprimierung über Konfigurationsdatei (.htaccess) aktivieren:
In die .htaccess folgenden Code einkopieren:
##
# Compress .js and .css files
##
AddEncoding gzip .gz
<FilesMatch ".js.gz$">
AddType "text/javascript" .gz
</FilesMatch>
<FilesMatch ".css.gz$">
AddType "text/css" .gz
</FilesMatch>
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME} .(js|css)$
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]
Alle css und scripte mit dem Programm 7zip komprimieren:
7-zip.de
Alle komprimierten Dateien, zusätzlich zu den unkomprimierten, auf den Webspace, in den jeweiligen Ordner speichern.
Prüfen ob es funktioniert könnt ihr zum Beispiel hier:
floern.com/tools/trafficscanner
Gruß,
Claudio.
georg123
Diplomökonom (Pensionär)
Content Halbgott (569 Beiträge)
Passe schrieb:
Habe mir heute mal die Zeit genommen alle Daten auf meinem Server zu komprimieren.
GZIP-Komprimierung über Konfigurationsdatei (.htaccess) aktivieren:
In die .htaccess folgenden Code einkopieren:
##
# Compress .js and .css files
##
AddEncoding gzip .gz
<FilesMatch ".js.gz$">
AddType "text/javascript" .gz
</FilesMatch>
<FilesMatch ".css.gz$">
AddType "text/css" .gz
</FilesMatch>
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME} .(js|css)$
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]
Alle css und scripte mit dem Programm 7zip komprimieren:
7-zip.de
Alle komprimierten Dateien, zusätzlich zu den unkomprimierten, auf den Webspace, in den jeweiligen Ordner speichern.
Prüfen ob es funktioniert könnt ihr zum Beispiel hier:
floern.com/tools/trafficscanner
Gruß,
Claudio.
Hallo Claudio, bin schwer interessiert!:thumbup:
page speed meldet bei mir, daß ich meine (einzige) css-Datei und die index html. komprimieren sollte.
Wenn ich Dich richtig verstanden habe: Zuerst die beiden Dateien auf .gzip-Format offline komprimieren, hochladen. Neue Dateiendung: *.gzip???
Bestehende beide Dateien stehen lassen.
dann .htaccess nach Deinem Rezept ergänzen:
##
# Komprimieren index.html und css-Datei
##
AddEncoding gzip .gz
<FilesMatch "index.html.gz$">
AddType "text/javascript" .gz
</FilesMatch>
<FilesMatch ".css.gz$">
AddType "text/css" .gz
</FilesMatch>
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME} .(index.html|css)$
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]
##
#Ende Kompressionsbefehle
##
Und das geht ohne mit dem Herrn Webhoster zu sprechen???H
D`accord? Fritz
http://georg-hh.freimaurerei.de
Freiheit-Gleichheit-Brüderlichkeit, Toleranz und Humanität:
Dafür stehen und danach streben Freimaurer
Raptor
IT-Student
Content Gott (1013 Beiträge)
georg123 schrieb:
Wenn ich Dich richtig verstanden habe: Zuerst die beiden Dateien auf .gzip-Format offline komprimieren, hochladen.
Korrekt.
georg123 schrieb:
Neue Dateiendung: *.gzip???
Nein, nur .gz
georg123 schrieb:
<FilesMatch "index.html.gz$">
AddType "text/javascript" .gz
</FilesMatch>
Das ist nicht ganz korrekt.
Müsste heissen:
<FilesMatch "index.html.gz$">
AddType "text/html" .gz
</FilesMatch>
Meine Developer-Website mit den Web-Entwickler-Tools.
Meine Web-Entwicklungs-Dienstleistungen
[url="http://www.seitenreport.de/forum/beitraege/seitenreport_verlosungen/wichtig_neue_regel
gelöschter Benutzer
georg123 schrieb:
Neue Dateiendung: *.gzip???
Bei mir ist es die Dateiendung .gz
Ich habe alle Skripte und Stylesheets vom Server heruntergeladen und mit 7zip eine komprimierte Fassung ersellt und die dann zu der bereits bestehenden unkomprimierten Fassung hochgeladen.
Beispiel:
Vorher: mootools.js
Nachher: mootools.js.gz
Beide Dateien sollten im selben Verzeichnis wie vorher stehen
georg123 schrieb:
dann .htaccess nach Deinem Rezept ergänzen:
##
# Komprimieren index.html und css-Datei
##
AddEncoding gzip .gz
<FilesMatch "index.html.gz$">
AddType "text/html" .gz
</FilesMatch>
<FilesMatch ".css.gz$">
AddType "text/css" .gz
</FilesMatch>
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME} .(index.html|css)$
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]
##
#Ende Kompressionsbefehle
##
Mit .html habe ich es noch nicht ausprobiert - müsste aber funktionieren.
georg123 schrieb:
Und das geht ohne mit dem Herrn Webhoster zu sprechen???H
D`accord? Fritz
Ja, wenn er gzip-Komprimierung unterstützt dann ja.
Bei 1&1 wird es unterstützt!
Gruß,
Claudio.
gelöschter Benutzer
Via Script lässt sich das auch lösen.
Nähere Informationen findet man hier:
www.uwserver.de
Gruß,
Claudio.
Bazzel
Content Meister (251 Beiträge)
Alternativ falls die Module beim Webhoster aktiv sind kann man auch alles vom Server erledigen lassen. Bei mir sind alle aktiv
Hier mal meine htaccess die ich als Beispiel so im www gefunden habe. Leider keine ahnung mehr woher (hab ewig gesucht bis ich dies fand) deshalb auch keine Quellen-angabe.
# BEGIN Compress files
<IfModule mod_deflate.c>
<FilesMatch ".(css|js|xhtml|html|htm|php)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
# END Compress files
# BEGIN Expire headers
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType image/x-icon "access plus 4592000 seconds"
ExpiresByType image/jpeg "access plus 4592000 seconds"
ExpiresByType image/jpg "access plus 4592000 seconds"
ExpiresByType image/png "access plus 4592000 seconds"
ExpiresByType image/gif "access plus 4592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
ExpiresByType text/css "access plus 2592000 seconds"
ExpiresByType text/javascript "access plus 2592000 seconds"
ExpiresByType application/x-javascript "access plus 2592000 seconds"
ExpiresByType text/html "access plus 6000 seconds"
ExpiresByType application/xhtml+xml "access plus 6000 seconds"
</IfModule>
# END Expire headers
# BEGIN Cache-Control Headers
<IfModule mod_headers.c>
<FilesMatch "\\.(ico|jpeg|jpg|png|gif|swf)$">
Header set Cache-Control "max-age=4592000, public"
</FilesMatch>
<FilesMatch "\\.(css)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
<FilesMatch "\\.(js)$">
Header set Cache-Control "max-age=216000, private"
</FilesMatch>
<FilesMatch "\\.(xhtml|html|htm|php)$">
Header set Cache-Control "max-age=600, private, must-revalidate"
</FilesMatch>
</IfModule>
# END Cache-Control Headers
# BEGIN Turn ETags Off
<IfModule mod_headers.c>
Header unset ETag
</IfModule>
FileETag None
# END Turn ETags Off
# BEGIN Remove Last-Modified Header
<IfModule mod_headers.c>
Header unset Last-Modified
</IfModule>
Rock'n'Roll Club Lörrach
Deutsche Meisterschaft 2009 Rock'n'Roll
  Â
georg123
Diplomökonom (Pensionär)
Content Halbgott (569 Beiträge)
Bazzel schrieb:
Alternativ falls die Module beim Webhoster aktiv sind kann man auch alles vom Server erledigen lassen. Bei mir sind alle aktiv
Hier mal meine htaccess die ich als Beispiel so im www gefunden habe. Leider keine ahnung mehr woher (hab ewig gesucht bis ich dies fand) deshalb auch keine Quellen-angabe.
# BEGIN Compress files
<IfModule mod_deflate.c>
<FilesMatch ".(css|js|xhtml|html|htm|php)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
# END Compress files
# BEGIN Expire headers
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType image/x-icon "access plus 4592000 seconds"
ExpiresByType image/jpeg "access plus 4592000 seconds"
ExpiresByType image/jpg "access plus 4592000 seconds"
ExpiresByType image/png "access plus 4592000 seconds"
ExpiresByType image/gif "access plus 4592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
ExpiresByType text/css "access plus 2592000 seconds"
ExpiresByType text/javascript "access plus 2592000 seconds"
ExpiresByType application/x-javascript "access plus 2592000 seconds"
ExpiresByType text/html "access plus 6000 seconds"
ExpiresByType application/xhtml+xml "access plus 6000 seconds"
</IfModule>
# END Expire headers
# BEGIN Cache-Control Headers
<IfModule mod_headers.c>
<FilesMatch "\\.(ico|jpeg|jpg|png|gif|swf)$">
Header set Cache-Control "max-age=4592000, public"
</FilesMatch>
<FilesMatch "\\.(css)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
<FilesMatch "\\.(js)$">
Header set Cache-Control "max-age=216000, private"
</FilesMatch>
<FilesMatch "\\.(xhtml|html|htm|php)$">
Header set Cache-Control "max-age=600, private, must-revalidate"
</FilesMatch>
</IfModule>
# END Cache-Control Headers
# BEGIN Turn ETags Off
<IfModule mod_headers.c>
Header unset ETag
</IfModule>
FileETag None
# END Turn ETags Off
# BEGIN Remove Last-Modified Header
<IfModule mod_headers.c>
Header unset Last-Modified
</IfModule>
Was hindert uns Germanen, wenigstens die Kommentare einer .htaccess auf Deutsch zu schreiben? Damit oute ich mich auch als gelegentlicher Benutzer des Flughafens Hamburg- und ärgere mich, dass die S-Bahn zum "Airport" fährt. Fritz
http://georg-hh.freimaurerei.de
Freiheit-Gleichheit-Brüderlichkeit, Toleranz und Humanität:
Dafür stehen und danach streben Freimaurer
joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
Hallo
@Fritz Gar nichts aber die Kommentare kann jeder so verfassen wie er mag!
Zumindest läuft das Skript auch bei mir ! Auch wenn ich das komplette Verständnis dafür noch nicht besitze!
Angepasst habe ich es nur in der Form das ich
ExpiresByType text/html "access plus 6000 seconds" auf 0 gesetzt habe bei den Domains wo ich eine Zufallfunktion in php verwende!
Gruß
Jörg
Zufällige Umleitung zu der Startseite einer meiner Domains
Meine ungewöhnlichen Tools
Bazzel
Content Meister (251 Beiträge)
So zuerst zum Thema.
@ Jörg Um Fehler zu vermeiden wird für jedes Modul geprüft ob es vorhanden ist. <IfModule mod_deflate.c> Somit wird kein Fehler durch ein nicht vorhandenes Modul erzeugt.
Ob nun wirklich Komprimiert wird (die Module Arbeiten) muss man also erst überprüfen.
@ Fritz Ich war ja schon am zweifeln ob ich den riesigen Absatz überhaupt einstellen soll oder lieber doch Extern verlinken muss. Weil so ein großer abschnitt sich doch stören auswirkt.
In anderen Foren gibt es spezielle Code-Boxen die sich nach bedarf vergrößern lassen. Wäre eine anregung für Mathias.
Somit halte ich eine komplette Wiederholung des Beitrags zumal er direkt darüber steht für sinnlos.
Des weiteren noch ein Kurzes Zitat von dir in Sachen Themenrelevanz aus dem "Brief an 1&1 - Herrn Davis".
georg123 schrieb:
...kurz vorm Schlafengehen stimme ich Gerard zu. Außerdem: Ich begreife die Postings nicht die Bohne, sie belasten nach meiner Meinung nur die Forums-Datenbank. Nutzen?????
Fritz
Viele Grüße Joachim
Â
Rock'n'Roll Club Lörrach
Deutsche Meisterschaft 2009 Rock'n'Roll
  Â
georg123
Diplomökonom (Pensionär)
Content Halbgott (569 Beiträge)
Raptor schrieb:
georg123 schrieb:
Wenn ich Dich richtig verstanden habe: Zuerst die beiden Dateien auf .gzip-Format offline komprimieren, hochladen.
Korrekt.
georg123 schrieb:
Neue Dateiendung: *.gzip???
Nein, nur .gz
georg123 schrieb:
<FilesMatch "index.html.gz$">
AddType "text/javascript" .gz
</FilesMatch>
Das ist nicht ganz korrekt.
Müsste heissen:
<FilesMatch "index.html.gz$">
AddType "text/html" .gz
</FilesMatch>
Hallo Flo, danke- heute hab ichs versucht- gescheitert.
OHNE die Kompression hatte PageSpeed gemeldet: Score 83/100
rote Warnung leverage browser caching
rote Warnung enable compression
gelbes Dreieck minify CSS
gelbes Dreieck remove unused CSS
Im Hauptverzeichnis liegt inzwischen die mit 7Zip problemlos komprimierte index.html mit Endung .gz, zusätzlich zur index.html.
im Unterverzeichnis (!!!! Fehlerquelle für Befehl in .htaccess????) /css liegt die normale, einzige *.css-Datei, dazu die Kompression mit .gz-Endung
Die .htaccess ist wie folgt erweitert, ich denke, Deine Korrekturen sind erfasst:
##
# Komprimieren index.html und css-Datei, Stand 5.1.2010
##
AddEncoding gzip .gz
<FilesMatch "index.html.gz$">
AddType "text/html" .gz
</FilesMatch>
<FilesMatch ".css.gz$">
AddType "text/css" .gz
</FilesMatch>
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME} .(index.html|css)$
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]
##
#Ende Kompressionsbefehle
##
Nach hochladen .htaccess und der beiden .gz-Dateien startet die Site problemlos-aber PageSpeed meldet jetzt Score 70/100 und
rote Warnung leverage browser caching
rote Warnung enable compression
rote Warnung minimize DNS lookups
rote Warnung minimize redirects
gelbes Dreieck minify CSS
gelbes Dreieck remove unused CSS
also heftige Verschlechterung.
Inzwischen ist die alte .htaccess wieder aktiv, kein Schaden.
Fragen: Könnte der Befehl für meine im UV /CSS liegende css-Datei ursächlich sein? Ich zweifle, weil PageSpeed ja mit Hinweis 2 "enable compression" fordert
Könnte mein Server das Verfahren nicht unterstützen? Kommunikation mit meinem Freimaurer-Provider nicht einfach...
Danke fürs Nach- bzw. mitdenken. Gruss Fritz
http://georg-hh.freimaurerei.de
Freiheit-Gleichheit-Brüderlichkeit, Toleranz und Humanität:
Dafür stehen und danach streben Freimaurer
Raptor
IT-Student
Content Gott (1013 Beiträge)
Versuche mal die .htaccess in das Unterverzeichnis zu kopieren, dafür löschst du die Anweisungen bzgl der CSS-Datei in der .htaccess des Hauptverzeichnisses.
Da ist mir doch gleich noch mal \'nen Fehler aufgefallen:
RewriteCond %{REQUEST_FILENAME} \\.(index.html|css)$
müsste heissen:
RewriteCond %{REQUEST_FILENAME} \\.(html|css)$
Warum schreibst du eigentlich überall noch das "index" zur HTML-Datei hin? Wenn du das weg lässt, macht das womöglich weniger Probleme.
Also, das ganze nochmal:
die .htaccess für das Hauptverzeichnis:
AddEncoding gzip .gz
<FilesMatch "\\.html\\.gz$">
AddType "text/html" .gz
</FilesMatch>
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME} \\.(html|css)$
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]
die .htaccess für das CSS-Verzeichnis:
AddEncoding gzip .gz
<FilesMatch "\\.css\\.gz$">
AddType "text/css" .gz
</FilesMatch>
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME} \\.(html|css)$
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]
Versuch\'s mal so.
Meine Developer-Website mit den Web-Entwickler-Tools.
Meine Web-Entwicklungs-Dienstleistungen
[url="http://www.seitenreport.de/forum/beitraege/seitenreport_verlosungen/wichtig_neue_regel
Das Seitenreport Forum hat aktuell 5275 Themen und 36110 Beiträge.
Insgesamt sind 48360 Mitglieder registriert.
Beitrag erstellen
EinloggenKostenlos registrieren