Imaginez que les .js
fichiers sont placés dans/my-site/some/path/ui/js/myfile.js
Donc, normalement, la balise de script ressemblerait à:
<script src="/my-site/some/path/ui/js/myfile.js"></script>
Maintenant changez cela en:
<script src="/my-site/some/path/ui-1111111111/js/myfile.js"></script>
Maintenant, bien sûr, cela ne fonctionnera pas. Pour que cela fonctionne, vous devez ajouter une ou quelques lignes à votre .htaccess
La ligne importante est: (.htaccess entier en bas)
RewriteRule ^my-site\/(.*)\/ui\-([0-9]+)\/(.*) my-site/$1/ui/$3 [L]
Donc, cela supprime en quelque sorte le 1111111111
du chemin et les liens vers le chemin correct.
Alors maintenant, si vous faites des changements, il vous suffit de changer le numéro 1111111111
pour que vous voulez. Et quelle que soit la manière dont vous incluez vos fichiers, vous pouvez définir ce nombre via un horodatage lorsque le fichier js a été modifié pour la dernière fois. Le cache fonctionnera donc normalement si le nombre ne change pas. S'il change, il servira le nouveau fichier (OUI TOUJOURS) parce que le navigateur obtient une nouvelle URL complète et croit simplement que ce fichier est si nouveau qu'il doit aller le chercher.
Vous pouvez l' utiliser pour CSS
, favicons
et ce que jamais gets mis en cache. Pour CSS, utilisez simplement comme ça
<link href="http://my-domain.com/my-site/some/path/ui-1492513798/css/page.css" type="text/css" rel="stylesheet">
Et cela fonctionnera! Simple à mettre à jour, simple à entretenir.
Le .htaccess complet promis
Si vous n'avez pas encore de .htaccess, c'est le minimum dont vous avez besoin:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^my-site\/(.*)\/ui\-([0-9]+)\/(.*) my-site/$1/ui/$3 [L]
</IfModule>