# Généré par le build du site (règles communes du core + htaccessExtra de site.config.ts).
DirectoryIndex index.html
ErrorDocument 404 /404.html

# Forcer HTTPS
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTPS} off
  RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

  # URL canonique de l'accueil
  RewriteRule ^index.html$ / [L,R=301]
</IfModule>

# Cache léger des assets statiques
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType text/css "access plus 7 days"
  ExpiresByType application/javascript "access plus 7 days"
  ExpiresByType image/png "access plus 30 days"
  ExpiresByType image/jpeg "access plus 30 days"
  ExpiresByType image/svg+xml "access plus 30 days"
  ExpiresByType image/webp "access plus 30 days"
  ExpiresByType image/avif "access plus 30 days"
  ExpiresByType image/x-icon "access plus 30 days"
  ExpiresByType font/woff2 "access plus 1 year"
  ExpiresByType application/manifest+json "access plus 7 days"
</IfModule>

<IfModule mod_mime.c>
  AddType font/woff2 .woff2
  AddType application/manifest+json .webmanifest
</IfModule>
{{versionnes}}
# En-têtes de sécurité (site public + /admin), générés à partir de site.config.ts
# (csp, hsts, coop). Sans bloc `csp` : CSP limitée aux directives sans risque de casse.
<IfModule mod_headers.c>
  Header always set X-Content-Type-Options "nosniff"
{{xframe}}
  Header always set Referrer-Policy "strict-origin-when-cross-origin"
  Header always set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=(), interest-cohort=()"
{{securite}}
</IfModule>
{{extra}}
