8
votes

Comment faire du travail GZIP sur 1 et 1 site d'hôte partagé Site WordPress

Yslow me dit que mon CSS devrait être comprimé, mais après plusieurs heures de bricolage, je ne peux pas pour la vie de moi obtenir GZIP pour travailler pour mon site Web. À ce stade, je ne suis même pas sûr que la performance augmente (y aura-t-il un?) Virait-il l'effort.

J'exécute un site WordPress sur un compte d'hébergement partagé de 1 et 1. P>

Honnêtement, je ne sais pas vraiment ce que je fais avec ce genre de choses, et je ne peux pas sembler avoir une configuration appropriée. Je lis dans quelques endroits qui avec 1 & 1, "modules Apache mod_deflate et mod_gzip ne sont pas installés.", Donc je suppose que cela fait partie du problème. P>

J'ai essayé le code suivant: p>

Celui-ci ne semble rien faire: P>

if(extension_loaded("zlib") && (ini_get("output_handler") != "ob_gzhandler"))
    add_action('wp', create_function('', '@ob_end_clean();@ini_set("zlib.output_compression", 1);'));


0 commentaires

6 Réponses :


7
votes

Cela me semble que vous avez épuisé votre option. En regardant ce qui précède, il semble que l'hôte ne dispose pas de mod_deflate ou de mod_gzip. Donc, je suppose que vous êtes juste mal de chance.

La solution PHP n'est en effet que pour le HTML. Alors, il suffit de rester avec celui-là. HTML est également le meilleur endroit pour ajouter la compression, comme la plupart du temps, le CSS et JS ne sont téléchargés que sur la première page.

Vous pouvez rediriger la demande à CSS et JS, bien qu'un script PHP et utilisez le PHP pour compresser. Mais je ne voudrais pas y aller, car vous devriez également mettre en œuvre 304 non modifié et définir les en-têtes expirés appropriés.


1 commentaires

Il se sent beaucoup mieux abandonner quand quelqu'un d'autre vous dit que vous devriez ;-) Merci! Je vais simplement utiliser ce dernier extrait répertorié dans ma question.



6
votes

Activer la compression GZIP
La compression GZIP peut être activée dans php.ini avec le code suivant:

zlib.output_compression = On
zlib.output_compression_level = 9
allow_url_fopen = On


3 commentaires

Cela fait longtemps que j'ai abordé ce problème, mais si la mémoire sert, un compte d'hébergement partagé de 1 & 1 ne permet pas de configuration avec php.ini


Deuxièmement, a travaillé pour moi sur 1 & 1. Y a-t-il une chance que quiconque puisse expliquer ce que le code ici fait?


Cela vient de travailler parfaitement pour moi, pour Wordress sur 1 et 1



2
votes

Je sais que cette question est un peu ancienne maintenant, mais j'ai trouvé une solution qui fonctionne pour moi.

Ajouter un fichier appelé "php.ini" au dossier racine contenant ce qui suit; < Pré> xxx

alors (et c'est le bit à ne pas attendre) Ajoutez ce qui suit à votre fichier .htaccess; xxx

oui, c'est vrai . J'ai mis php6 dans cela. Apparemment, cela dirigera la dernière version stable de PHP (actuellement 5.4) qui permettra la compression GZIP. Cela exécutera également .html et .htm via l'analyseur PHP, ce qui signifie qu'ils peuvent être compressés (les fichiers non exécutés pas via l'analyseur PHP ne seront pas compressés). N'hésitez pas à ajouter des autres extensions que vous souhaitez exécuter via PHP ( .xml par exemple).

Au fait, si vous exécutez .xml < / Code> Les fichiers via PHP, n'oubliez pas de définir l'en-tête la déclarant comme un fichier XML, sinon cela ne fonctionnera pas correctement.

espère que cela aide!


0 commentaires

13
votes

Ainsi, après un certain temps, j'ai compris comment compresser des fichiers HTML, CSS et JS ayant un package WebPhosting 1 et 1. Déflate n'est pas pris en charge!

Pour le contenu dynamique, vous ajoutez PHP.ini à votre répertoire racine de votre site Web. Contenu de php.ini: xxx

Bien sûr, vous pouvez également choisir un autre niveau de compression, 9 est le plus élevé (et provoquant la charge de serveur la plus élevée). Cela compressera votre fichier HTML généré de manière dynamique.

pour compresser des fichiers statiques (CSS, JS et images ...) Vous devez modifier le fichier .htaccess. Pour cette annexe xxx

à votre fichier .htaccess (vous trouvez ce fichier dans le répertoire racine de votre site web - sinon le créer). Mais la compression n'est pas faite automatiquement. Vous devez donc compresser les fichiers vous-même! Utilisez par exemple 7-zip et comprimer les fichiers JS et CSS avec .gz -> le résultat devrait être par exemple. stylesheet.css.gz. Ensuite, téléchargez le fichier sur le même répertoire que le fichier que vous venez de compresser.

maintenant, il devrait fonctionner!

PS: la compression n'est pas toujours utile, surtout lorsque le fichier est très petit. Alors vérifiez les différences avant et après la compression.


1 commentaires

Fonctionne très bien. Pourriez-vous ajouter un moyen de ne faire que cela pour des types de fichiers spécifiques, par exemple CSS et JS?



0
votes

Vous pouvez activer la compression en ajoutant ce code dans votre fichier .htaccess: xxx


0 commentaires

1
votes

fonctionne pour moi,

Tout d'abord, vous devez copier le php.ini dans tout le répertoire. (1 et1 fourni un script pour faciliter cette manipulation dans leur FAQ) Avec ce contenu: xxx

Ajoutez ceci dans le site haccessé: xxx


0 commentaires