web-dev-qa-db-fra.com

compression apache Déflatez les fichiers .js et .css non compressés?

Dans Apache Im, activer la compression de sortie en ajoutant ce qui suit à mon fichier .htaccess:

# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

# Or, compress certain file types by extension:
<Files *.html>
SetOutputFilter DEFLATE
</Files>

Je diffuse donc tout le contenu avec Content-Encoding: gzip mais lorsque je teste ma page Web avec Yslow, je reçois:

Grade D on Compress components with gzip

There are 3 plain text components that should be sent compressed

* http://mysite.com/javascript/youTubeEmbed/youTubeEmbed-jquery-1.0.css
* http://mysite.com/javascript/jquery.swfobject.1-1-1.min.js
* http://mysite.com/javascript/youTubeEmbed/youTubeEmbed-jquery-1.0.js

Où est le problème? Ne devraient-ils pas être compressés automatiquement ??

merci

Luca

23
luca

Avez-vous pensé à vider votre cache avant de recharger la page et d'exécuter Yslow?

J'ai eu exactement le même problème et l'ai résolu comme ça. Voici mon code:

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
24
Jeff Gladnick

Dans mon cas, j'ai résolu exactement le même problème en ajoutant cette ligne au fichier .htaccess: AddOutputFilterByType DEFLATE text/javascript

Peut-être que le serveur n'obtient pas javascript comme application/javascript mais text/javascript. J'espère que ça aide.

Dans mon cas, j'ai dû supprimer le serveur proxy inverse (nginx) - bien sûr, vous pouvez également configurer la compression à l'aide du fichier nginx.conf (peut être situé dans/etc/nginx ou utiliser un propre fichier .conf situé dans /etc/nginx/conf.d) - mais nginx a causé d'autres problèmes. Après avoir supprimé nginx d'un serveur à l'aide de Plesk, jetez un œil à ces conseils: http://forum.parallels.com/showthread.php?t=26056 Pour résumer une longue histoire: faites attention si le les fichiers sont vraiment servis par votre Apache ou ils sont gérés par quelque chose comme nginx. B.t.w. un outil de test rapide: http://www.gidnetwork.com/tools/gzip-test.php

2
Dominik Späte