aboutsummaryrefslogtreecommitdiffstats
path: root/.htaccess
diff options
context:
space:
mode:
authorNicolas Guichard <nicolas@guichard.eu>2023-03-02 18:38:04 +0100
committerSimon L <szaimen@e.mail.de>2023-03-11 18:17:53 +0100
commit7aae6c12e51597bf8996b0fcdc3a64109733bce5 (patch)
treec531c206fa4f2ffaaeb564eefc31fa6dbabe486a /.htaccess
parent9137908b2ce859c1c5be58805b0d3ba54c882f7e (diff)
downloadnextcloud-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--.htaccess11
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