sebsauvage.net

Ce site n'est pas le site officiel.
C'est un blog automatisé qui réplique les articles automatiquement

Content-length absent sur un serveur Apache avec gzip activé

Wednesday 5 June 2013 at 17:16

(Je sais que la plupart s'en foutent, mais comme j'ai eu le problème, je préfère signaler la solution. Qui sait ça pourra peut-être servir.)

Dans ma page de musiques pour Minecraft (http://sebsauvage.net/minecraft_musics), le Content-Length n'est pas envoyé, ce qui n'est pas terrible pour les lecteurs audio vu qu'on ne peut pas seeker. Je me demandais pourquoi, j'ai trouvé: Sur un serveur Apache avec la compression gzip activée (ce qui est le cas de *tout* mon site), il fera du chunk-encoding si le fichier à servir est plus gros que le buffer. Donc pas de content-length. Solution simple: Désactiver la compression gzip pour certains types de fichier avec « SetEnv no-gzip dont-vary ». J'ai donc mis comme htaccess:

----------------------------------------------------------------------------------------
# mettre en cache les musiques pour un mois
<FilesMatch ".(mp3)$">
Header set Cache-Control "max-age=2592000"
SetEnv no-gzip dont-vary
</FilesMatch>

# Empecher la mise en cache des php (pour la playlist xspf en mode shuffle)
<FilesMatch ".(php)$">
Header set Cache-Control "max-age=0"
</FilesMatch>

Header unset ETag
FileETag None
----------------------------------------------------------------------------------------

Et viola !  (comme disent les Ricains)

EDIT 18h18 : J'ai bien fait de publier. J'ai apparemment déjà fait deux heureux.  Je vous le dis: Publiez, publiez !  Même une petite ligne de code. Sur un shaarli, sur votre wiki... peu importe.
(Permalink)

Source: http://sebsauvage.net/links/?2jz6Xg