Comment puis-je obtenir Apache compression gzip pour le travail?
Je ne peux pas obtenir mon site à utiliser la compression gzip.
J'ai récemment regardé ce vidéo par Chris Coyier plus à css-tricks.com. Dans la vidéo, il parle à propos de l'activation de la compression gzip pour rendre les sites web plus rapide.
Que par son enseignement, j'ai fait un lien grâce à github par html5boilerplate.com, copié la compression gzip code à partir de leur .fichier htaccess, collé sur mon propre, et téléchargé sur mon site.
Je l'ai testé via gzipwtf.com et il ne semble pas fonctionner. Quelqu'un peut-il m'aider?
Mon .fichier htaccess ressemble à ceci:
# ----------------------------------------------------------------------
# Trim www
# ----------------------------------------------------------------------
RewriteEngine On
RewriteCond %{HTTP_HOST} !^orbitprint.com$ [NC]
RewriteRule ^(.*)$ http://orbitprint.com/$1 [L,R=301]
# ----------------------------------------------------------------------
# Gzip compression
# ----------------------------------------------------------------------
<IfModule mod_deflate.c>
# Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
</IfModule>
</IfModule>
# Compress all output labeled with one of the following MIME-types
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE application/atom+xml \
application/javascript \
application/json \
application/rss+xml \
application/vnd.ms-fontobject \
application/x-font-ttf \
application/xhtml+xml \
application/xml \
font/opentype \
image/svg+xml \
image/x-icon \
text/css \
text/html \
text/plain \
text/x-component \
text/xml
</IfModule>
</IfModule>
- Pouvez-vous ajouter quelques détails au sujet de votre serveur, par exemple les en-têtes de réponse? .htaccess fonctionne, tout simplement pour les serveurs Apache, et si votre serveur Apache n'a pas le mod_filter.c activée, la compression ne fonctionne pas.
- Date: tue, 11 Sep 2012 10:46:19 GMT Server: Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.8 e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 X-Powered-By: PHP/5.2.9 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache de Connexion: close Transfer-Encoding: chunked Content-Type: text/html
Vous devez vous connecter pour publier un commentaire.
Essayez ceci :
Il est préférable de l'appliquer comme dans l'extrait ci-dessous.
Il suffit de coller le contenu ci-dessous dans votre
.htaccess
fichier, ensuite, de vérifier les performances à l'aide de: Google PageSpeed, Pingdom Tools et GTmetrics.ExpiresByType
etHeader set Cache-Control
?Enable compression
etLeverage browser caching
sur Google PageSpeed Insight:Votre .htaccess devrait fonctionner tout très bien; il repose sur quatre différents modules Apache (un pour chaque
<IfModule>
la directive). Je suppose que l'une des opérations suivantes:votre serveur Apache n'a pas soit mod_filter, mod_deflate, mod_headers et/ou mod_setenvif modules installés et en cours d'exécution. Si vous pouvez accéder à la configuration du serveur, veuillez vérifier
/etc/apache2/httpd.conf
(et les fichiers de configuration d'Apache); sinon, vous pouvez voir les modules qui sont chargés viaphpinfo()
, en vertu de la apache2handler section (voir image jointe); (MODIFIER) OU, vous pouvez ouvrir une fenêtre de terminal et exécutez la commandesudo apachectl -M
qui liste les modules chargés;si vous obtenez un http 500 erreur interne au serveur, le serveur peut ne pas être autorisé à l'utiliser .htaccess;
que vous tentez de charger un fichier PHP qui envoie ses propres en-têtes (en écrasant Apache'sheaders), donc "confusion" du navigateur.
Dans tous les cas, vous devez double-vérifier votre configuration de serveur et journaux d'erreurs pour voir ce qui ne va pas. Juste pour être sûr, essayez d'utiliser le moyen le plus rapide suggéré ici dans Apache docs:
et puis essayez de charger un gros fichier texte (de préférence, nettoyer votre cache en premier).
(MODIFIER) Si les modules nécessaires sont là (dans les modules d'Apache dir), mais ne sont pas chargés,
il suffit d'éditer /etc/apache2/httpd.conf et ajouter un LoadModule directive pour chacun d'eux.
Si les modules nécessaires ne sont pas là (ni chargé ni dans le répertoire de modules Apache), je crains que la seule option est de réinstaller Apache (version complète).
Tout d'abord aller à apache/bin/conf/httpd.conf et assurez-vous que mod_deflate.donc est activé.
Puis aller à la .htaccess fichier et ajouter cette ligne:
Ce devrait sortir tout le contenu servi en tant que format, j'ai essayé et il fonctionne.
Rencontré ce problème en utilisant la même .htaccess de configuration. J'ai réalisé que mon serveur était en train de servir les fichiers javascript que
text/javascript
au lieu deapplication/javascript
. Une fois j'ai ajoutétext/javascript
à laAddOutputFilterByType
déclaration, gzip commencé à travailler.Pourquoi javascript était servi comme
text/javascript
: il y avait uneAddType 'text/javascript' js
déclaration au sommet de ma racine .fichier htaccess. Après l'enlever (il a été ajouté par erreur), javascript départ servant deapplication/javascript
.Dans mon cas, j'ai utilisé le code suivant pour activer la compression gzip dans le serveur web apache.
J'ai pris de référence de http://www.tutsway.com/enable-gzip-compression-using-htacess.php.
Si votre Hôte Web est par le biais de C Panneau de Permettre à G de Compression ZIP sur Apache C Panneau
Aller à CPanel et vérifier l'onglet logiciels.
Précédemment Optimiser le site web pour travailler, mais maintenant une nouvelle option est disponible je.e "MultiPHP INI Editor".
Sélectionnez le nom de domaine que vous souhaitez compresser.
Faites défiler vers le bas jusqu'à ce que vous trouver zip compression de la sortie et de l'activer.
Maintenant vérifier de nouveau pour le G de Compression ZIP.
Vous pouvez suivre le tutoriel vidéo aussi. https://www.youtube.com/watch?v=o0UDmcpGlZI
Dans mon cas, ajouter uniquement cette ligne travaillé
SetOutputFilter DEFLATE
Activer la compression via .htaccess
Pour la plupart des gens de cette lecture, la compression est activée par l'ajout du code dans un fichier appelé .htaccess sur leur site web hôte/serveur. Pour cela, le gestionnaire de fichier (ou partout où vous allez à ajouter ou télécharger des fichiers) sur votre hébergeur.
L' .fichier htaccess contrôles de beaucoup de choses importantes pour votre site.
Le code ci-dessous doit être ajouté à votre .fichier htaccess...
Enregistrer le .fichier htaccess et puis actualisez votre page web.
Vérifier pour voir si votre compression fonctionne à l'aide de la Outil de compression Gzip.