Imagina que los .js
archivos se colocan en/my-site/some/path/ui/js/myfile.js
Entonces, normalmente, la etiqueta de secuencia de comandos se vería así:
<script src="/my-site/some/path/ui/js/myfile.js"></script>
Ahora cámbielo a:
<script src="/my-site/some/path/ui-1111111111/js/myfile.js"></script>
Ahora, por supuesto, eso no funcionará. Para que funcione, debe agregar una o algunas líneas a su .htaccess
La línea importante es: (.htaccess completo en la parte inferior)
RewriteRule ^my-site\/(.*)\/ui\-([0-9]+)\/(.*) my-site/$1/ui/$3 [L]
Entonces, lo que hace es eliminar el 1111111111
de la ruta y se vincula a la ruta correcta.
Así que ahora, si realiza cambios, solo tiene que cambiar el número 1111111111
por el número que desee. Y, sin embargo, incluye sus archivos, puede establecer ese número a través de una marca de tiempo cuando el archivo js se modificó por última vez. Por lo tanto, el caché funcionará normalmente si el número no cambia. Si cambia, servirá el nuevo archivo (SI SIEMPRE) porque el navegador obtiene una URL completamente nueva y simplemente cree que el archivo es tan nuevo que debe ir a buscarlo.
Puede usar esto para CSS
, favicons
y lo que sea que se almacene en caché. Para CSS solo usa así
<link href="http://my-domain.com/my-site/some/path/ui-1492513798/css/page.css" type="text/css" rel="stylesheet">
¡Y funcionará! Simple de actualizar, simple de mantener.
El .htaccess completo prometido
Si aún no tiene .htaccess, este es el mínimo que necesita tener allí:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^my-site\/(.*)\/ui\-([0-9]+)\/(.*) my-site/$1/ui/$3 [L]
</IfModule>