web-dev-qa-db-fra.com

Wordpress REST API json - Comment activer la compression gzip?

J'essaie actuellement d'activer la compression gzip sur un site Web Wordpress. Mais la sortie JSON de l’API Embedded wordpress ne semble pas être affectée par les paramètres de mon htaccess.

Les voici:

<IfModule mod_deflate.c>
  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml
  AddOutputFilterByType DEFLATE application/json

  # Remove browser bugs (only needed for really old browsers)
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent
</IfModule>

Est-ce que quelqu'un a une idée de l'endroit où mon erreur est? Merci!

1
ChrisR34

J'ai utilisé votre ensemble exact de directives .htaccess pour réaliser json gzip'ing. A pris mes fichiers de 23k à 4k.

Donc, je suppose que c'est l'une des deux choses suivantes:

  1. Votre.htaccess n'est pas autorisé à utiliser ces directives, il les ignore donc. Par conséquent, vous devez soit effectuer l'une des opérations suivantes: a) modifier le fichier httpd.conf ou /etc/Apache/sites-available/site.conf ou httpd-vhosts.conf (selon le système sur lequel vous vous trouvez) et ajoutez le truc gzip là. b) éditez les mêmes fichiers et donnez à votre.htaccess le droit de remplacer ces paramètres. c) vérifiez que vous utilisez vraiment Apache afin que .htaccess fonctionne; D
  2. Vérifiez que mod_deflate est chargé et si ce n’est pas le cas, activez-le. Là encore, il est possible que cela ne fonctionne pas car vous n’exécutez pas Apache ou les directives du fichier htttpd.conf (ou n’importe où) ne couvrent pas application/json.

Si vous disposez d'un accès .conf pour effectuer ces modifications, insérez les règles de déflation dans le fichier plutôt que dans le fichier .htaccess. Ainsi, le serveur en apprendra l'existence au moment de la configuration et non pour chaque accès aux fichiers. augmente la vitesse (légèrement).

Si vous ne disposez pas d'un accès .conf, vous devez parler aux utilisateurs du serveur ou à la société d'hébergement et leur demander d'ajouter le AddOutputFilterByType DEFLATE application/json pour votre site Web. Considérez peut-être tous les paramètres que vous avez définis ci-dessus.

En prime, si vous voulez vraiment très petit, la compression Brotli a été spécialement conçue pour rendre les polices plus petites et fonctionne sur tous les types de fichiers. Si vous travaillez avec un hôte, demandez-lui si cela est également possible, ainsi que gzip, afin que vous disposiez d'une compatibilité ascendante.

1
Andrew Killen