Это на самом деле очень сложная проблема, и вы можете потратить некоторое время на разработку правильного решения.
Я бы порекомендовал публиковать ваши файлы, используя временную отметку и / или версию, встроенную в URL, поэтому вместо:
/ media / js / my.js, в итоге вы получите:
/ media / js / v12 / my.js или что-то подобное.
Вы можете автоматизировать управление версиями / отметками времени с помощью любого инструмента.
Это дает дополнительное преимущество, заключающееся в том, что вы НЕ нарушаете сайт при развертывании новых версий, и позволяет вам проводить настоящее параллельное тестирование (в отличие от правила перезаписи, которое просто удаляет версию и отправляет обратно самый новый файл).
Одна вещь, на которую следует обращать внимание при использовании JS или CSS, - когда вы включаете в них зависимые URL-адреса (фоновые изображения и т. Д.), Вам необходимо убедиться, что метка времени / версия JS / CSS изменяется, если ресурс внутри (а перепишите их, но это возможно с очень простым регулярным выражением и манифестом ресурса).
Независимо от того, что вы делаете, убедитесь, что вы не бросаете?