Nginx und JS/CSS-Versionierung über den Browser-Cache

Nginx und JS/CSS-Versionierung über den Browser-Cache

Ich möchte den Cache des Browsers einfach leeren, wenn JS/CSS-Dateien aktualisiert werden.

Tatsächlicher Dateispeicherort:

  • /js/einige-dateien.js
  • /css/einige-dateien.css

In der App eingestellter Dateispeicherort zum Aufruf durch den Browser:

  • /js/v1/einige-dateien.js
  • /css/v1/einige-dateien.css

Ich habe Folgendes versucht, aber/js/v1/einige-dateien.jsgibt mir 404s.

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

Können Sie erkennen, was ich falsch mache?

Antwort1

Es lag an einem fehlenden Schrägstrich, wie in den Kommentaren erwähnt! AußerdemStandortBlock kann wie folgt vereinfacht werden ...

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

verwandte Informationen