web-dev-qa-db-fra.com

Comment activer la compression pour réduire la taille du transfert de fichiers sur GoDaddy?

J'ai hébergé l'un de mes sites sur godaddy.com. Comment activer la compression pour réduire la taille du transfert de fichier? J'ai besoin de compresser les fichiers .css et .js. J'ai essayé ce qui suit mais ça ne marche pas:

SetOutputFilter DEFLATE Header append Vary User-Agent 
2
Suhail Gupta

Vous pouvez essayer ce que Godaddy recommande sur leur site: Activer mod_Deflate avec votre compte d'hébergement . Ajoutez ce qui suit à votre fichier .htaccess

AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
1
SwDevMan81

En compressant .js et .css, voulez-vous dire les minfy ou la compression gzip. Si vous avez besoin de minifier, utilisez simplement css minfier ou JS minifier .

Et si vous parlez de la compression gzip, c'est aussi trop facile. Créez simplement un fichier .htaccess dans votre racine FTP (uniquement s'il n'existe pas) et collez-y le code ci-dessous.

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
1
Navas Azeez

Étant donné que vous avez Go-Daddy, vous pourriez ne pas avoir un accès Apache décent. Utilisez PHP et utilisez le modèle suivant.

<?php
$compression_level=2; //any number from 1 to 9 depending on how much compression
ob_start();
// INSERT YOUR OUTPUT CODE HERE
$data=ob_get_contents();
ob_end_clean();
if (strpos(strtolower($_SERVER['HTTP_ACCEPT_ENCODING']), 'gzip') !== false){
$data=gzencode($data,$compression_level);
header("content-encoding: gzip",true);
}
echo $data;
?>

Qu'est-ce qui se passera ici est un tampon est créé qui contient toutes les sorties. Après cela, le tampon est stocké en tant que variable. Il vérifie ensuite si le client peut prendre en charge la décompression gzip et, le cas échéant, compresse le code et le résultat est au format compressé, puis renvoie l'en-tête gzip avec les données compressées au client.

Ce code renvoie également une sortie normale non compressée pour ceux dont le navigateur ne prend pas en charge le codage gzip.

Une fois que cela est fait, vous pouvez faire référence au fichier PHP directement dans le code HTML, comme ceci par exemple:

<link rel="stylesheet" href="http://www.whatever.com/css/css.php">

Ou, si vous souhaitez que le nom de fichier soit joli, recherchez la commande RewriteRule pour mod_rewrite. Il y a beaucoup d'exemples sur le net pour cela.

1
Mike