8791 sujets

Développement web côté serveur, CMS

Salut à vous !

Voici 2 semaines que nous avons activé la compression gzip de notre site Internet uniquement en local dans un premier temps (pas en production). Cela signifie que toutes nos applications locales (comprendre tous nos sites Internet en local) sont concernées par la compression des pages gzip.

Je souhaiterai désactiver cette compression pour une page en particulier. Savez-vous comment puis-je m'y prendre ?

Merci d'avance.
comment l'avez vous activé ?

si c'est dans la conf apache globale, il doit être possible de la désactiver pour un sous répertoire avec .htaccess
je sais aussi qu'avec apache on peut faire exécuter certaines configuration en fonction des patterns d'url

exemple trouvé online : http://httpd.apache.org/docs/2.0/mod/mod_deflate.html

BrowserMatch ^Mozilla/4\.0[678] no-gzip

cette ligne n'active pas gzip pour les mozilla version 4, à toi de trouver la commande pour cibler une URL Smiley cligne

si c'est en PHP, c'est encore plus simple, il suffit de repérer l'url et ne pas lancer la compression de l'output
Un truc comme ça devrait fonctionner (pas testé)
SetEnvIf Request_URI ^/pageNonCompressee.html no-gzip=1
a écrit :
si c'est en PHP, c'est encore plus simple, il suffit de repérer l'url et ne pas lancer la compression de l'output

Oui c'est en PHP que je souhaiterai faire ceci. Par contre, j'ai regardé dans les fonctions PHP et je n'ai rien trouvé. Probablement que j'ai regardé au mauvais endroit...

Nous n'utilisons pas Apache mais IIS (pas de commentaire là-dessus svp).
Si tu trouves rien dans le code et que tu es sous IIS donc microsoft

y a un equivalent a la crontab. peut-etre une tache planifié?
Modifié par CPascal (01 Apr 2010 - 10:31)
J'avoue ne pas trop voir le lien entre une tâche planifiée et afficher une page non compressée. Peux-tu être plus clair s'il-te-plaît ?
au cas ou il y aurait un script qui ferait ça de façon indépendante.

en même temps tu ne nous a expliquer pas grand chose.
Modifié par CPascal (01 Apr 2010 - 10:48)
J'ai juste la compression des pages activées à l'aide de l'encodage gzip. Et je voudrais que l'une d'entre elle (une page php) ne le soit pas. Je ne pense pas qu'il y ait grand chose à expliquer d'autre...

Je suis persuadé qu'il y a moyen de faire ça en PHP mais je n'ai toujours pas trouvé comment. J'ai regardé du côté de la fonction header() avec l'en-tête Content-Encoding mais je n'ai pas trouvé quelle valeur lui donner.
Si tu ne trouves rien dans ton script php relatif à la compression, c'est dans la config de ton serveur.
J'ai pas touché à du IIS depuis longtemps, je vais éviter de raconter une ânerie et te renvoyer vers la doc, il y a un paragraphe expliquant comment spécifier les pages à compresser ( ou pas)
Modifié par paolo (01 Apr 2010 - 12:25)
Il me semblait que c'était possible en PHP Smiley cligne
ini_set('zlib.output_compression', 0);

Merci à tous de vous être penché sur mon problème.

edit: Résolu !
Modifié par Alphonse (01 Apr 2010 - 13:51)
Si tu nous avais précisé dès le début que ça se passait dans ton script, et que c'était du php, on aurait tous gagné du temps.
Alphonse a écrit :
Oui c'est en PHP que je souhaiterai faire ceci.

Alphonse a écrit :
Je suis persuadé qu'il y a moyen de faire ça en PHP mais je n'ai toujours pas trouvé comment.

Je te l'accorde, je ne l'ai pas précisé dans mon premier post.
Et en fait pour quelle raison souhaites-tu désactiver la compression pour une page?
Car je génère des PDF à la volée grâce à la classe FPDF. C'est-à-dire que les PDF n'étaient pas appelés avec du code HTML (comme par exemple une image) mais ils étaient affichés grâce à la méthode "Output" de la classe "fpdf". La compression du code posait donc problème... et mes PDF s'affichaient au bout de plusieurs minutes au lieu de seulement 1 à 2 secondes.