Apache 2.2 mod_deflate

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Apache 2.2 mod_deflate

Re: Apache 2.2 mod_deflate

par @rthur » 23 févr. 2011, 23:34

Je sais vraiment, il me semblait qu'il éxistait une directive permettant de définir au serveur d'interpréter tous les fichiers PHP, c'est à dire finissant par .PHP ou comprenant .PHP
AddHandler ou AddType


Je ne suis pas sûr de bien comprendre quel est ton problème initial.
Pour la compression de données avant de l'envoyer au navigateur, as-tu regardé au niveau de ob_gzhandler?
http://fr.php.net/ob_gzhandler

Re: Apache 2.2 mod_deflate

par Yosh » 23 févr. 2011, 20:16

Et si on déclare l'interprétation PHP des fichiers .js ?
Certes il va s'amuser à regarder tous les fichiers mais seuls ceux possédant du PHP(<?php ... ?>) devraient être interprétés non ?
Je sais vraiment, il me semblait qu'il éxistait une directive permettant de définir au serveur d'interpréter tous les fichiers PHP, c'est à dire finissant par .PHP ou comprenant .PHP

Personne n'a eu ce genre de truc à faire?

Je le rappel c'est juste pour minimiser le nombre de fichier javascript appelé (one for all).

Re: Apache 2.2 mod_deflate

par xTG » 23 févr. 2011, 19:40

Et si on déclare l'interprétation PHP des fichiers .js ?
Certes il va s'amuser à regarder tous les fichiers mais seuls ceux possédant du PHP(<?php ... ?>) devraient être interprétés non ?

Re: Apache 2.2 mod_deflate

par Yosh » 23 févr. 2011, 17:40

Essayes de rajouter ceci dans ton http.conf :

Code : Tout sélectionner

AddType application/x-httpd-php .php.js
Cela devrait permettre au serveur d'interpréter l'extension (enfin s'il accepte ce type d'extension...), tout en laissant le deflate agir sur les .js
Le soucis c'est justement qu'une extension *.php.js n'est pas interprété.

Le code php est du coup en dur dans le fichier.

Re: Apache 2.2 mod_deflate

par xTG » 23 févr. 2011, 16:59

Essayes de rajouter ceci dans ton http.conf :

Code : Tout sélectionner

AddType application/x-httpd-php .php.js
Cela devrait permettre au serveur d'interpréter l'extension (enfin s'il accepte ce type d'extension...), tout en laissant le deflate agir sur les .js

Re: Apache 2.2 mod_deflate

par Yosh » 23 févr. 2011, 16:15

Cela doit venir du fait que Apache ne lit pas après interprétation du code PHP mais avant.
En toute logique le header() n'est pas pour le serveur mais pour le navigateur.
Hum, je comprend bien.

Ya pas un moyen de finter ? La doule extension .php.js, ça pourrait marcher ? si oui, comment je l'autorise ?

Merci d'avance.

Re: Apache 2.2 mod_deflate

par xTG » 23 févr. 2011, 15:40

Cela doit venir du fait que Apache ne lit pas après interprétation du code PHP mais avant.
En toute logique le header() n'est pas pour le serveur mais pour le navigateur.

Apache 2.2 mod_deflate

par Yosh » 23 févr. 2011, 14:49

Bonjour à tous,

j'ai activer ce mode sur mon serveur apache (sous windows) et jusqu'à maintenant je n'avais rencontré aucun soucis.

Par contre j'ai du revoir l'inclusion des mes fichiers js afin d'en limiter le nombre (1 c'est mieux que 8 :p)

J'ai donc une seul balise script faisant appel à un fichier "script.php" dont le contenu est en gros le suivant:
ob_start();
		
	header("Content-type: text/javascript");
		
	echo file_get_contents('script1.js');
	echo file_get_contents('script2.js');
	echo file_get_contents('script3.js');
	echo file_get_contents('script4.js');

$scripts = ob_get_contents();

ob_end_clean();
	
echo $scripts;
Mon soucis est que dans mon fichier deflate.log , l'appel du fichier php n'est pas compressé comme pour les fichiers js (bien que le header soit défini en JS et que la directive AddOutputFilterByType DEFLATE application/x-httpd-php soit défini).

Il y a quelque chose que je ne fais pas bien? J'avais penser modifier l'extension en "script.php.js" mais celui-ci n'est plus interprêter avec une double extension.

Ci-dessous ma config deflate

Code : Tout sélectionner

<IfModule mod_deflate.c> #Highest 9 - Lowest 1 DeflateCompressionLevel 9 AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/atom_xml AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/x-httpd-php AddOutputFilterByType DEFLATE application/x-httpd-fastphp AddOutputFilterByType DEFLATE application/x-httpd-eruby 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|avi|mov|mp3|mp4|rm)$ no-gzip dont-vary BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # Pour les proxies Header append Vary User-Agent env=!dont-vary DeflateFilterNote Input instream DeflateFilterNote Output outstream DeflateFilterNote Ratio ratio LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate CustomLog "D:/php_logs/deflate.log" deflate </IfModule>