web-dev-qa-db-fra.com

Les changements CSS ne seront pas appliqués - Où pourrait être le cache?

J'ai rencontré un problème étrange que je n'avais jamais vu auparavant. J'ai édité un fichier CSS et l'ai téléchargé sur mon serveur. À partir du gestionnaire de fichiers de mon hébergement, je peux voir que le fichier est mis à jour. Mais dans mon ordinateur local, c'est toujours l'ancienne version.

J'ai effacé le cache du navigateur, j'ai utilisé un autre navigateur, j'ai même basculé vers le navigateur de mon téléphone portable, le CSS est toujours l'ancien. Donc, je suppose que ceci est un problème côté serveur.

Je me suis connecté à Joomla et j'ai vidé tout le cache que j'ai pu trouver, mais le fichier ne sera toujours pas mis à jour.

Alors, où ce cache pourrait-il être stocké?

Edit Grâce à l'outil de développement, je clique et ouvre le fichier css dans un nouvel onglet, c'est ici que je vois que le fichier CSS est toujours l'ancienne version. J'ai appuyé sur F5 pour actualiser ce fichier dans l'onglet du navigateur. Normalement, le navigateur sera obligé de vérifier s'il existe une version plus récente, mais le fichier ne sera toujours pas mis à niveau. Il s'agit donc certainement d'un autre outil. PS: Je suis à peu près sûr que je n'ai pas confondu le fichier.

6
shenkwen

Certains hôtes vraiment bon marché et survendus ont tendance à mettre en cache les fichiers de ressources (images, fichiers JS, fichiers CSS) pendant longtemps. Vérifiez quelques heures pour voir si le fichier a été mis à jour.

Sinon, et en supposant que vous effaciez le cache de votre navigateur, il est fort probable que vous regardiez le mauvais fichier ou que le transfert du fichier CSS ait échoué (problèmes d'autorisation?), Mais vous ne l'avez pas remarqué, et vos modifications n'ont donc jamais pris effet (c'est d'ailleurs un problème très courant chez les développeurs).

2
itoctopus
  • Accédez-vous directement au fichier css mis à jour via votre navigateur et vous voyez l'ancien css?
  • Ou vous ne voyez tout simplement pas les changements entrer en vigueur sur votre site?

Quelques suggestions pour les deux scénarios:

A. Accédez-vous directement au fichier css mis à jour via votre navigateur et vous voyez le vieux css?

  1. Assurez-vous que le serveur/l'emplacement que vous téléchargez par FTP est identique à celui que vous atteignez avec HTTP.

  2. Certains hôtes Web fournissent des fonctionnalités d'optimisation de la vitesse qui mettent en cache les fichiers de sites Web. Assurez-vous donc que vous n'en êtes pas une "victime".

  3. Vérifier votre .htaccess pour mod_expires directives trop longues.

  4. Vérifiez la possibilité d’utiliser un CDN (par exemple, Cloudflare) qui met également votre site en cache.

  5. Essayez avec hard-refresh - effacement du cache sur votre navigateur.

B. Vous ne voyez tout simplement pas les modifications entrer en vigueur sur votre site?

  1. Le CSS que vous modifiez n'est pas chargé pour la page que vous consultez.

  2. Les modifications CSS que vous avez apportées ne sont pas prioritaires par rapport aux autres styles CSS.

  3. Les modifications CSS que vous avez apportées ne sont pas correctes ou ne s'appliquent pas à votre code HTML.

  4. Vous avez une extension ou un plug-in qui pourrait générer un css final compressé en lisant tous les css disponibles, ce qui peut vous obliger à vider son cache individuellement et à le forcer à régénérer un nouveau css. Ou une autre extension tierce pour l'optimisation de la vitesse, la mise en cache, etc. qui compresse ou met en cache, ou la définition de directives.

5
FFrewin