Files
voculinux/web/public/_headers
T
xavierk 80a3792576
CI / security (pull_request) Failing after 1m25s
CI / lint (pull_request) Failing after 34s
CI / ai-review (pull_request) Successful in 25s
chore: import vocalinux project
Import the vocalinux source tree (tray app, Next.js site in web/,
packaging, installers, docs and tests) on top of the Gitea template
commit. The project README replaces the template README, and the
template CI files (.gitea/workflows/ci.yml, .jscpd.json, CI.md) are kept.
2026-11-06 11:51:44 +05:30

54 lines
1.1 KiB
Plaintext

# Cache headers for static assets
# Improves PageSpeed Insights score by setting proper cache lifetimes
# Assets with long cache lifetime (1 year) - versioned by content hash
/_next/static/*
Cache-Control: public, max-age=31536000, immutable
# Font files - long cache (1 year)
/*.woff
/*.woff2
/*.ttf
/*.otf
Cache-Control: public, max-age=31536000, immutable
# Images - long cache (1 year)
/*.png
/*.jpg
/*.jpeg
/*.gif
/*.svg
/*.ico
/*.webp
/*.avif
Cache-Control: public, max-age=31536000, immutable
# Favicon and app icons
/apple-touch-icon.png
/favicon.ico
/android-chrome-*
Cache-Control: public, max-age=31536000, immutable
# HTML pages - short cache for revalidation
/*.html
Cache-Control: public, max-age=0, must-revalidate
# JSON and other data files
/*.json
Cache-Control: public, max-age=86400
# JavaScript chunks
/*.js
Cache-Control: public, max-age=31536000, immutable
# CSS files
/*.css
Cache-Control: public, max-age=31536000, immutable
# Security headers
/*
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
Referrer-Policy: strict-origin-when-cross-origin