Управление версиями Nginx и js/css через кэш браузера

Управление версиями Nginx и js/css через кэш браузера

Я хочу легко очищать кэш браузера при обновлении файлов js/css.

Реальное местоположение файла:

  • /js/некоторые-файлы.js
  • /css/некоторые-файлы.css

Расположение файла, заданное в приложении для вызова браузером:

  • /js/v1/некоторые-файлы.js
  • /css/v1/некоторые-файлы.css

Я попробовал следующее, но собираюсь/js/v1/некоторые-файлы.jsвыдает мне 404.

location ~ ^/(js|css)/v[0-9]+/(.*)$ {
    access_log off;
    expires 7d;
    add_header Cache-Control public;
    try_files $uri $uri/ $1/$2;
}

Можете ли вы заметить, что я делаю неправильно?

решение1

Это произошло из-за отсутствия слеша, как упоминалось в комментариях! Кроме того, вашрасположениеблок можно упростить следующим образом...

location ~ /(js|css)/v[0-9]+/(.*) {
    access_log off;
    expires 7d;
    add_header Cache-Control public;
    try_files $uri $uri/ /$1/$2;
}

Связанный контент