This is how I am currently setting up my Caddyfor for caching static sites. I assume that files like index.html
are going to get built and rebuilt and really shouldn’t be cached. But files like style.css
might never change and should be hashed to a filename like style.7de89dba35df2c5e5239.css
. So we can cache files like that forever. Make sure this approach is right for you before you use it. Feedback is welcomed.
Here’s the snippet.
(cache) {
@assets {
path *.bmp *.jpg *.png *.svg *.gif *.pdf *.css *.js
}
@content {
not {
path *.bmp *.jpg *.png *.svg *.gif *.pdf *.css *.js
}
}
header @assets cache-control max-age=31536000
header @content cache-control max-age=0
}
Here’s how to use it.
mysite.com {
root * /srv/
file_server
import cache
}