dnscms: version image URLs by file hash so media can be cached as immutable
dnscms / ci (push) Successful in 1m10s
web / ci (push) Successful in 2m38s

This commit is contained in:
ponas committed 2026-10-15 01:43:10 +02:00
1 parent fb1453b419
commit cff6376129
4 files changed
+122 -5

No files matched your search

+16 -5
View File
@@ -59,14 +59,21 @@ not in any repo:
- `Caddyfile`, `default_redirect_503.caddy`: Coolify's own.
- `studentfestivalen-redirects.caddy`: `studentfestivalen.no` and `studioweb.no` → `neuf.no/studio`.
- `cms-neuf-no.subdirectives`:
- `cms-neuf-no.subdirectives`. The GraphQL API versions image URLs with `?v=<file hash>`
(`CustomImage.versioned_url`), so those are cached forever. Anything else under `/media/`
(admin previews, renditions, old links) is revalidated on every use, instead of browsers
guessing a lifetime from `Last-Modified`. `neuf-no.subdirectives` repeats the same headers:
```caddy
rewrite / /admin/
handle_path /media/* {
root * /site/cms.neuf.no/media
file_server
root * /site/cms.neuf.no/media
@versioned query v=*
header @versioned Cache-Control "public, max-age=31536000, immutable"
@unversioned not query v=*
header @unversioned Cache-Control "no-cache"
file_server
}
```
@@ -75,8 +82,12 @@ not in any repo:
```caddy
handle_path /media/* {
root * /site/cms.neuf.no/media
file_server
root * /site/cms.neuf.no/media
@versioned query v=*
header @versioned Cache-Control "public, max-age=31536000, immutable"
@unversioned not query v=*
header @unversioned Cache-Control "no-cache"
file_server
}
@pages not path /_next/static/* /_next/image* /assets/* /media/*