Comment désactiver la compression Apache gzip pour certains fichiers multimédia.fichier htaccess?
je voudrais désactiver la compression gzip pour certains fichiers multimédia qui sont déjà compressés sur un serveur Apache via le .htaccess
fichier.
Raison: comme il est écrit sur, par exemple, site de jPlayer, gzip codage doit être désactivée pour les fichiers de média: "les fichiers multimédia sont déjà compressés et le GZIP ne fera que gaspiller du CPU sur votre serveur. Le Plugin Adobe Flash connaîtra des problèmes si vous GZIP les médias."
je suis actuellement le problème Content-Length
en-tête n'est pas correctement définie lorsque gzip est activée - si lors de la lecture de certains fichiers mp3 avec un SoundManager2 player, la barre de progression de la longueur de la piste ne fonctionne pas correctement (donc c'est peut-être le problème dont ils ont parlé sur le site de jPlayer).
je peux tester si un contenu est servi gzipped ici.
J'ai mod_deflate
,mod_mime
et mod_rewrite
modules activés sur le serveur.
Selon un phpinfo(), voici une liste de tous les modules chargés:
core mod_log_config mod_logio itk http_core mod_so mod_alias mod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_dav mod_dav_svn mod_authz_svn mod_deflate mod_dir mod_env mod_mime mod_negotiation mod_php5 mod_reqtimeout mod_rewrite mod_setenvif mod_ssl mod_status
j'utilise Drupal 6, donc j'ai déjà un RewriteRule, qui est la suivante:
# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q= [L,QSA]
j'ai déjà essayé de désactiver gzip, mais ça n'a pas marché (il y a 6 essais différents! - peut-être que certains d'entre eux devraient être établies à l'échelle mondiale dans Apache httpd.conf?!):
# http://www.cyberciti.biz/tips/speed-up-apache-20-web-access-or-downloads-with-mod_deflate.html SetOutputFilter DEFLATE SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary SetEnvIfNoCase Request_URI .pdf$ no-gzip dont-vary SetEnvIfNoCase Request_URI .avi$ no-gzip dont-vary SetEnvIfNoCase Request_URI .mov$ no-gzip dont-vary SetEnvIfNoCase Request_URI .mp3$ no-gzip dont-vary SetEnvIfNoCase Request_URI .mp4$ no-gzip dont-vary SetEnvIfNoCase Request_URI .rm$ no-gzip dont-vary
## Step 2. here: http://www.mydigitallife.info/how-to-enable-mod_deflate-gzip-compression-on-cpanel-web-hosts/ <IfModule mod_deflate.c> SetOutputFilter DEFLATE RemoveOutputFilter mp3 # Don’t compress already-compressed files SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary SetEnvIfNoCase Request_URI .(?:avi|mov|mp3|mp4|rm|flv|swf|mp?g)$ no-gzip dont-vary SetEnvIfNoCase Request_URI .pdf$ no-gzip dont-vary </IfModule>
RemoveOutputFilter mp3
# for files that end with ".mp3" <FilesMatch .mp3$> SetEnv no-gzip 1 </FilesMatch>
RewriteRule .mp3$ - [NS,E=no-gzip:1,E=dont-vary:1]
RewriteRule ^((.*).mp3)$ .mp3 [NS,E=no-gzip:1,E=dont-vary:1]
Le seul qui fonctionne correctement, et désactive la compression gzip, MAIS c'est global:
RewriteRule ^(.*)$ [NS,E=no-gzip:1,E=dont-vary:1]
en-têtes de réponse pour un fichier mp3 Lorsque vous N'utilisez pas cette règle de réécriture: http://pastebin.com/AkUZ6m5Y
En-têtes de réponse pour un fichier mp3 lors de l'utilisation de cette règle de réécriture:http://pastebin.com/b8j3NF6D
6 réponses
j'ai dû désactiver la compression pour les fichiers odp à utiliser par un plugin externe Juste d'ajouter la règle suivante .fichier htaccess
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.odp$ no-gzip dont-vary
et le serveur a désactivé la compression pour les fichiers odp assurez-vous de vider le cache du navigateur avant de tester
vous ne vous y prenez pas mal en utilisant la directive SetOutputFilter DEFLATE
et ensuite essayer de désactiver ce flux qui comprend déjà une certaine forme de compression? N'est-il pas beaucoup plus facile pour utiliser cette directive et compresser le flux compressible. E. g.
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript application/javascript application/ecmascript application/rss+xml
</IfModule>
Et, éventuellement, l'ajout d'un en-tête Vary:
<IfModule mod_headers.c>
<FilesMatch "\.(js|css|xml|html)$">
Header append Vary Accept-Encoding
</FilesMatch>
</IfModule>
OK cela peut manquer le type Impair que vous n'avez pas pensé, mais il atteindra 99+ % de votre potentiel de compression.
je pense que vous n'êtes pas en utilisant la compression de vos médias. Avez-vous vérifié que vous dégonflez des fichiers? Le module peut être chargé en mémoire, mais cela ne veut pas dire qu'il comprime des fichiers. Si votre .htaccess n'a que des règles de réécriture.
cela semble dépassé : https://www.varnish-cache.org/docs/3.0/tutorial/compression.html#gzip-and-esi
GZIP et ESI
si vous utilisez Edge Side Includes vous serez heureux de noter que ESI et GZIP fonctionne très bien ensemble. Vernis magie décompresser le contenu pour faire le traitement ESI, puis le recomprimer pour le stockage et la livraison.
pour désactiver la compression gzip sur les fichiers Flash D'Adobe (SWFs) sur mon serveur Apache, j'ai ajouté ceci à mon .htaccess:
<IfModule mod_headers.c>
<FilesMatch "\.swf$">
RewriteRule ^(.*)$ [NS,E=no-gzip:1,E=dont-vary:1]
</FilesMatch>
</IfModule>
Si vous voulez, vous pouvez désactiver la compression gzip pour d'autres types de fichiers ainsi:
<IfModule mod_headers.c>
<FilesMatch "\.(js|css|swf)$">
RewriteRule ^(.*)$ [NS,E=no-gzip:1,E=dont-vary:1]
</FilesMatch>
</IfModule>
je sais que ce fil est vieux, mais je suis passé par le même chemin.
Deux choses que j'ai fait.
j'ai activé .htaccess et gzip désactivé complètement pour un dossier.
<Files "*.gz.asc"> RemoveEncoding .gz </Files>
mettre une règle reqwrite pour désactiver
RewriteRule "\.js\.gz$" "-" [T=text/javascript,E=no-gzip:1]
les deux ont fonctionné pour moi, je suggérerais d'aller d'abord à la documentation Apache Avant de chercher sur les forums.
pour plus d'information, allez à Apache site.
https://httpd.apache.org/docs/2.4/mod/mod_deflate.html https://httpd.apache.org/docs/2.4/mod/mod_mime.html#addtype