2012-12-22 4 views
7

Kann ich beide .htaccess mit:GZIP-Komprimierung + .htaccess abzulassen

DEFLATE 

auf PHP, Bilder, HTML-Dateien etc. + php header mit:

ob_start("gzhandler") ? 

Wenn nein, was das ist beste Gelegenheit? Ich mache mir nur Sorgen, wenn es zu Konflikten kommt.

Antwort

28

Die Komprimierung von Bildern ist normalerweise eine ziemlich schlechte Idee, da die meisten der weit verbreiteten Bildformate im Web bereits komprimiert sind und Sie den Dateien nur zusätzlichen Aufwand hinzufügen. Im Allgemeinen möchten Sie die Komprimierung für Dinge verwenden, die als Text dargestellt werden können (html, css, js usw.), da für diese das Komprimierungsverhältnis extrem hoch ist.

Soweit ich weiß, ist es nicht möglich, sowohl DEFLATE als auch GZIP gleichzeitig zu benutzen, aber ehrlich gesagt war ich nie in der Lage, so etwas auszuprobieren ist falsch.

Für welche zu wählen, würde ich dringend empfehlen, einen Blick auf den folgenden Beitrag zu werfen, wo Sie einige der Vor- und Nachteile von DEFLATE und GZIP sehen können.

Why use deflate instead of gzip for text files served by Apache?

ich persönlich DEFLATE verwenden, wo möglich, nur weil seine manchmal leichter durch .htaccess zu implementieren als um den Code Stossen. Ich mag auch die Möglichkeit, diese Funktionalität beim Testen oder Entwickeln schnell zu deaktivieren.

EDIT: HTML5 Boilerplate hat eine ziemlich umfassende Sammlung von nützlichen .htaccess Richtlinien, damit Sie sie HERE überprüfen möchten aus.

Nun, obwohl diese Datei ziemlich umfangreich ist können Sie nur eine normale Fall Konfiguration wie die folgenden verwenden mögen:

# ----------------------------------------------------------------------- 
# Defining MIME types to ensure the web server actually knows about them. 
# ----------------------------------------------------------------------- 
<IfModule mod_mime.c> 
    AddType application/javascript   js 
    AddType application/vnd.ms-fontobject eot 
    AddType application/x-font-ttf   ttf ttc 
    AddType font/opentype     otf 
    AddType application/x-font-woff   woff 
    AddType image/svg+xml     svg svgz 
    AddEncoding gzip      svgz 
</Ifmodule> 

# ----------------------------------------------------------------------- 
# Compressing output. 
# ----------------------------------------------------------------------- 
<IfModule mod_deflate.c> 
    AddOutputFilterByType DEFLATE text/html text/plain text/css application/json 
    AddOutputFilterByType DEFLATE application/javascript 
    AddOutputFilterByType DEFLATE text/xml application/xml text/x-component 
    AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml 
    AddOutputFilterByType DEFLATE image/x-icon image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype 
</Ifmodule> 
+0

Ok danke, wird dies gut sein? ExpiresActive auf ExpiresDefault A2592000 Kopf ungesetzt cache- Steuerung SetOutputFilter DEFLATE JKMadsen

+1

Dieser Code hat nichts mit Komprimierung zu tun. Bitte werfen Sie einen Blick auf meine aktualisierte Antwort für einige der "Best Practices". – brezanac

+0

Das funktioniert für mich, aber die Zeile 'AddOutputFilterByType DEFLATE Text/XML-Anwendung/XML-Text/X-Komponente' erzeugte einen großen Fehler unter Windows 7 (alle Browser), wo die Website überhaupt nicht ausgeliefert werden konnte (cPanel, TYPO3 mit URL-Umschreiben). Ich habe es auskommentiert. – Urs