diff options
author | Nicolas Guichard <nicolas@guichard.eu> | 2023-03-02 18:38:04 +0100 |
---|---|---|
committer | Simon L <szaimen@e.mail.de> | 2023-03-11 18:17:53 +0100 |
commit | 7aae6c12e51597bf8996b0fcdc3a64109733bce5 (patch) | |
tree | c531c206fa4f2ffaaeb564eefc31fa6dbabe486a /.htaccess | |
parent | 9137908b2ce859c1c5be58805b0d3ba54c882f7e (diff) | |
download | nextcloud-server-7aae6c12e51597bf8996b0fcdc3a64109733bce5.tar.gz nextcloud-server-7aae6c12e51597bf8996b0fcdc3a64109733bce5.zip |
Fix Cache-Control header of non-versioned assets
Non-cache-busted assets such as /dist/core-main.js also matched the
regex meant for cache-busted assets (note the ? at the end of the
regex).
The FilesMatch directive for cache-busted assets coming after the
non-cache-busted version all assets actually got the immutable flag
in their Cache-Control header. This caused client-side errors on
updates.
Query strings are not actually passed to FilesMatch directives so we
need another way to tell cache-busted/versionned assets apart from
non-versioned assets, here using If/Else directives.
Signed-off-by: Nicolas Guichard <nicolas@guichard.eu>
Diffstat (limited to '.htaccess')
-rw-r--r-- | .htaccess | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/.htaccess b/.htaccess index dd0fce231e8..956e29ea7c4 100644 --- a/.htaccess +++ b/.htaccess @@ -41,11 +41,12 @@ # Add cache control for static resources <FilesMatch "\.(css|js|svg|gif|png|jpg|ico|wasm|tflite)$"> - Header set Cache-Control "max-age=15778463" - </FilesMatch> - - <FilesMatch "\.(css|js|svg|gif|png|jpg|ico|wasm|tflite)(\?v=.*)?$"> - Header set Cache-Control "max-age=15778463, immutable" + <If "%{QUERY_STRING} =~ /(^|&)v=/"> + Header set Cache-Control "max-age=15778463, immutable" + </If> + <Else> + Header set Cache-Control "max-age=15778463" + </Else> </FilesMatch> # Let browsers cache WOFF files for a week |