Impossible de régler la longue durée de vie du cache

flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   -  
flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   -
bonjour a tous
cela fait déjà des semaines que j essaye de trouver une solution pour mettre en cache mes images
j'ai déjà essaye une multitude de code différents a inscrire dans le fichier htaccess

mais rien n y fait

voici la partie de mon fichier thaccess
# Mise en cache des fichiers dans le navigateur

Cache-Control: max-age=31536000


<IfModule mod_expires.c>
  ExpiresActive On

 # Images
 ExpiresByType image/jpeg  "accès plus 1 an" 
 ExpiresByType image/jpg  "accès plus 1 an" 
  ExpiresByType image/gif  "accès plus 1 an" 
  ExpiresByType image/png  "accès plus 1 an" 
  ExpiresByType image/webp  "accès plus 1 an" 
  ExpiresByType image/svg+xml  "accès plus 1 an" 
  ExpiresByType image/x-icon  "accès plus 1 an"


  # Video
  ExpiresByType video/webm "access plus 1 year"
  ExpiresByType video/mp4 "access plus 1 year"
  ExpiresByType video/mpeg "access plus 1 year"

  # Fonts
  ExpiresByType font/ttf "access plus 1 year"
  ExpiresByType font/otf "access plus 1 year"
  ExpiresByType font/woff "access plus 1 year"
  ExpiresByType font/woff2 "access plus 1 year"
  ExpiresByType application/font-woff "access plus 1 year"

  # CSS, JavaScript
  ExpiresByType text/css "access plus 1 year"
  ExpiresByType text/javascript "access plus 1 year"
  ExpiresByType application/javascript "access plus 1 year"

  # Others
  ExpiresByType application/pdf "access plus 1 year"
  ExpiresByType image/vnd.microsoft.icon "access plus 1 year"
</IfModule>

# En-têtes
Header unset ETag
FileETag None

<ifModule mod_headers.c>  
<filesMatch "\.(ico|jpe?g|png|gif|swf)$">  
    Header set Cache-Control "public"  
</filesMatch>  
<filesMatch "\.(css)$">  
    Header set Cache-Control "public"  
</filesMatch>  
<filesMatch "\.(js)$">  
    Header set Cache-Control "private"  
</filesMatch>  
<filesMatch "\.(x?html?|php)$">  
    Header set Cache-Control "private, must-revalidate"
</filesMatch>
</ifModule>

# Compressions des fichiers statiques
<IfModule mod_deflate.c> 
    AddOutputFilterByType DEFLATE text/xhtml text/html text/plain text/xml text/javascript application/x-javascript text/css 
    BrowserMatch ^Mozilla/4 gzip-only-text/html 
    BrowserMatch ^Mozilla/4\.0[678] no-gzip 
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html 
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary 
    Header append Vary User-Agent env=!dont-vary 
</IfModule>  

AddOutputFilterByType DEFLATE text/html  
AddOutputFilterByType DEFLATE text/plain  
AddOutputFilterByType DEFLATE text/xml  
AddOutputFilterByType DEFLATE text/css  
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/json 


voici une copie du rapport de gtmetrix

15 réponses

  1. Kivin2003 Messages postés 682 Date d'inscription   Statut Contributeur Dernière intervention   191
     
    C'est très étonnant, quel est ton hébergeur ?
    As-tu accès au serveur (à sa configuration) ou seulement au FTP ?

    Edit: je n'avais pas vu ton premier message, je ne connais pas cet hébergeur. Tu as accès à la config du serveur ?

    Si non, un petit message au support technique pourrait débloquer la situation :)

    4
    1. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
       
      bonsoir
      merci pour ton aide
      je suis chez hostinger
      non juste en ftp ...
      le support technique réponds volontiers pour wordpress mais pour un site normal ils sont plus je m en fous
      Mais je vais essayer quand même
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention  
         
        bonjour,
        où se trouve ce fichier .htaccess?
        0
      2. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        bonsoir
        merci de l aide juste a la racine de mon sous domaine donc dans mon cas
        https://phil.pecheperle.be/.htaccess

        je viens d ajouter une réponse a la suite de ce sujet
        0
  2. Kivin2003 Messages postés 682 Date d'inscription   Statut Contributeur Dernière intervention   191
     
    Tu peux tenter un
      ExpiresDefault "access plus 1 month"
    à la place de 1 sec, tout au début.

    ou alors essaie avec un .htaccess type comme celui-ci :

    # MOD_DEFLATE COMPRESSION
    SetOutputFilter DEFLATE
    AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php
    #Pour les navigateurs incompatibles
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
    BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
    #ne pas mettre en cache si ces fichiers le sont déjà
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
    #les proxies doivent donner le bon contenu
    Header append Vary User-Agent env=!dont-vary

    # BEGIN Expire headers
    <IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 7200 seconds"
    ExpiresByType image/jpg "access plus 2592000 seconds"
    ExpiresByType image/jpeg "access plus 2592000 seconds"
    ExpiresByType image/png "access plus 2592000 seconds"
    ExpiresByType image/gif "access plus 2592000 seconds"
    AddType image/x-icon .ico
    ExpiresByType image/ico "access plus 2592000 seconds"
    ExpiresByType image/icon "access plus 2592000 seconds"
    ExpiresByType image/x-icon "access plus 2592000 seconds"
    ExpiresByType text/css "access plus 2592000 seconds"
    ExpiresByType text/javascript "access plus 2592000 seconds"
    ExpiresByType text/html "access plus 7200 seconds"
    ExpiresByType application/xhtml+xml "access plus 7200 seconds"
    ExpiresByType application/javascript A259200
    ExpiresByType application/x-javascript "access plus 2592000 seconds"
    ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
    </IfModule>
    # END Expire headers

    # BEGIN Cache-Control Headers
    <IfModule mod_headers.c>
    <FilesMatch "\\.(ico|jpe?g|png|gif|swf|gz|ttf)$">
    Header set Cache-Control "max-age=2592000, public"
    </FilesMatch>
    <FilesMatch "\\.(css)$">
    Header set Cache-Control "max-age=2592000, public"
    </FilesMatch>
    <FilesMatch "\\.(js)$">
    Header set Cache-Control "max-age=2592000, private"
    </FilesMatch>
    <filesMatch "\\.(html|htm)$">
    Header set Cache-Control "max-age=7200, public"
    </filesMatch>
    # Disable caching for scripts and other dynamic files
    <FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
    Header unset Cache-Control
    </FilesMatch>
    </IfModule>
    # END Cache-Control Headers

    # KILL THEM ETAGS
    Header unset ETag
    FileETag none

    # protect wpconfig.php
    <files wp-config.php>
    order allow,deny
    deny from all
    </files>

    # protect the htaccess file
    <files .htaccess>
    order allow,deny
    deny from all
    </files>

    # protection de la lecture des répertoires
    Options -Indexes
    3
  3. Kivin2003 Messages postés 682 Date d'inscription   Statut Contributeur Dernière intervention   191
     
    Hello,

    Essaie ceci :

    <IfModule mod_expires.c> 
    ExpiresActive On
    ExpiresDefault "access plus 1 seconds"
    ExpiresByType text/html "access plus 1 seconds"
    ExpiresByType image/x-icon "access plus 2592000 seconds"
    ExpiresByType image/gif "access plus 2592000 seconds"
    ExpiresByType image/jpeg "access plus 2592000 seconds"
    ExpiresByType image/png "access plus 2592000 seconds"
    ExpiresByType text/css "access plus 604800 seconds"
    ExpiresByType text/javascript "access plus 86400 seconds"
    ExpiresByType application/x-javascript "access plus 86400 seconds"
    </IfModule>


    ou ceci :
    <FilesMatch "\.(?i:gif|jpe?g|png|ico|css|js|swf)$">

    <IfModule mod_headers.c>
    Header set Cache-Control "max-age=172800, public, must-revalidate"
    </IfModule>

    </FilesMatch>
    2
  4. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    bonsoir
    merci pours les extraits de code
    j'ai effectuer des essais avec un fichier htaccess vide
    mais le soucis est toujours présent

    n 'y a t il pas quelque chose a régler sur le serveur de hostinger
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    bonjour
    super gentil de me répondre
    mais malheureusement cela ne fonctionne toujours
    même en partant avec un fichier htaccess de base
    0
  7. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    bonjour

    chose assez surprenante je viens de constater que lorsque j effectue des tests avec gtmetrix sur le serveur de londres que le cache ne s effectue pas
    par contre sur celui du canada cela fonctionne

    comment vérifier que la mise en cache fonctionne

    merci
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      comment controles-tu les configurations de ces deux serveurs?
      0
    2. Kivin2003 Messages postés 682 Date d'inscription   Statut Contributeur Dernière intervention   191
       
      Salut,

      Regarde via l'outil Google "Lightspeed" : https://pagespeed.web.dev/report?url=https%3A%2F%2Fphil.pecheperle.be%2F

      Tu as un score correct (il ne faut pas vivre pour les scores non plus), ce serait plus simple en effet de passer sous Wordpress pour automatiser ce genre de choses...

      Dans le rapport Lightpseed, tu as toute une série d'actions à mettre en oeuvre pour gagner quelques secondes de chargement, mais ça va être beaucoup de bidouillage ...
      1
      1. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190 > Kivin2003 Messages postés 682 Date d'inscription   Statut Contributeur Dernière intervention  
         
        salut kivin

        Merci de l aide

        j'ai le même site sous wordpress déjà ( c est une longue histoire ,mais en résumé je voulais tester sous wordpress )

        je ne connaissais pas cet outil de google
        0
  8. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    en fait je fais des tests avec gtmetrix et lorsque je fais les tests avec celui de londres le cache ne s effectue pas

    par contre avec celui du canada cela fonctionne
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      comment gères-tu les configurations de ces deux serveurs?
      0
      1. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        merci pour l aide je ne configure rien du tout
        je vais sur le site de gtmetrix et je choisi un serveur pour ensuite scanner mon site

        y a des choses a configurer ?
        0
      2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention  
         
        tu as deux sites.
        tu as donc deux fichiers .htaccess?
        0
  9. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    en fait j ai donc mon site réalise en php et html dans un sous domaine

    https://phil.pecheperle.be/.htaccess

    ensuite mon site sous wordpress a dans le domaine

    https://pecheperle.be/.htaccess

    Mais pour l instant je teste le site

    https://phil.pecheperle.be/.htaccess
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      l'un est à londres, l'autre au canada?
      0
      1. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        comme sur ce print screen je peux choisir pour le test

        0
  10. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    bonjour a tous je reviens de nouveau avec mon soucis de cache

    je viens d aller voir dans le reseau de mon navigateur pour voir le cache-control:

    sur certaines images il est bien de 1 an pour d autres images il est de 4 h00

    je vois également que certaines images sont bien mises en cache mais pas d autres ?
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      que quoi cela dépend-il?
      l'extension du fichier, le type du fichier, la localisation du fichier?
      0
  11. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    merci pour la reponse
    mais je pense qu une image c est mieux qu un discours et pourtant les images sont placées au même endroits

    0
  12. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    bonsoir a tous
    je reviens de nouveau avec mon problème de cache
    j'ai encore cherche toute la journée et je suis arrive a certains résultats

    pour commencer j ai remplacer mes images par des images webp apres avoir effectue les changements
    je viens d obtenir ceci dans mon navigateur chrome
    je suppose que le cache fonctionne correctement

    mais je ne comprends pas pourquoi j ai ceci cache-control: public, max-age=604800 dans mon navigateur alors que dans mon fichier htaccess j'ai indiquer 1an



    je me suis donc rendu a nouveau sur le site de PageSpeed Insights et j'ai retester ma page

    voici ce qu'il affiche



    je suis retourné voir sur le site de gtmetrix et refais deux deux tests

    le premier avec le serveur Location: London, UK


    et ensuite avec le serveur de Location: Vancouver, Canada


    comment expliquer qu'apparemment sur mon navigateur les images sont en cache mais pas sur ces sites de diagnostic
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      Il est possible que ton navigateur les garde en cache parce, il y a un certain temps, il a reçu l'instruction de la garder en cache.
      Les sites de diagnostic ne mémorisent sans doute pas leurs caches, et utilisent donc les informations récentes envoyées par ton site.
      Tu devrais tester avec un autre navigateur, pour voir la situation actuelle.

      AJOUT:
      ou vider la cache de ton navigateur.
      0
  13. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    merci pour la reponse

    je viens d essayer avec firefox que je viens d installer

    donc pour commencer avec le site de PageSpeed Insights c 'est pareil toujours les avertissements

    avec le serveur de Location: Vancouver, Canada de gtmetrix

    en effet je n ai plus d avertissement par contre

    je dois encore tester avec celui de londres mais je dois attendre 1h00 pffff

    mais je ne comprends pas pourquoi j ai ceci cache-control: public, max-age=604800 dans mon navigateur alors que dans mon fichier htaccess j'ai indiquer 1an
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      Quel navigateur? Quand a-t-il visité le site pour la première fois?
      0
  14. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    merci pour ton aide
    entretemps je viens de vider tout chrome et j ai refais un diagnostic de mon site dans le navigateur dans les paramètres du réseau

    les derniers changement de mon site date de +-1 h00 sur les images

    voici ce que j ai après avoir tout vider le cache



    ou alors je dois attendre avant de voir des résultats
    0
  15. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    je viens de relacer le site dans le navigateur et apparemment cette fois tout es en memory cache

    mais avec cette valeur
    cache-control: public, max-age=604800
    alors quelle devrait être de 31536000
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      7 jours en cache, cela me semble bien assez.
      il n'est pas très utile d'encombrer les disques des visiteurs occasionnels.
      0
      1. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        merci pour la réponse
        je confirme que cela est bien du a cloudflare qui prends le dessus sur le fichier htaccess
        0
  16. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    ne serais ce pas a cause de ce server cloudflare
    0