Versionamento Nginx e js/css via cache do navegador

Versionamento Nginx e js/css via cache do navegador

Quero limpar facilmente o cache do navegador quando os arquivos js/css forem atualizados.

Localização real do arquivo:

  • /js/alguns-arquivos.js
  • /css/alguns-arquivos.css

Local do arquivo definido no aplicativo a ser chamado pelo navegador:

  • /js/v1/alguns-arquivos.js
  • /css/v1/alguns-arquivos.css

Eu tentei o seguinte, mas vou/js/v1/alguns-arquivos.jsme dá 404s.

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

Você consegue identificar o que estou fazendo de errado?

Responder1

Foi por falta de barra, conforme mencionado nos comentários! Além disso, seulocalizaçãobloco pode ser simplificado como o seguinte ...

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

informação relacionada