# ============================================================================
# NeonBet — STATİK VARLIK ÖNBELLEKLEME (LiteSpeed / Apache)
# Sadece Cache-Control BAŞLIĞI ekler. Yönlendirme/rewrite YOK → uygulama
# routing'ine (Passenger/Node) dokunmaz, güvenle eklenir.
# Konum: statik dosyaların sunulduğu dizin (genelde public/ = web kökü).
# ============================================================================

<IfModule mod_headers.c>
  # Resimler + fontlar nadiren değişir → uzun önbellek (tekrar ziyarette hız).
  <FilesMatch "\.(png|jpe?g|gif|webp|svg|ico|woff2?|ttf|eot)$">
    Header set Cache-Control "public, max-age=2592000, immutable"
  </FilesMatch>
  # CSS/JS deploy ile değişir → kısa taze süre + arka planda yenile (stale-while-revalidate).
  # Böylece tekrar ziyaret hızlı; güncelleme en geç ~1 saatte yayılır.
  <FilesMatch "\.(css|js)$">
    Header set Cache-Control "public, max-age=3600, stale-while-revalidate=86400"
  </FilesMatch>
</IfModule>

# mod_expires varsa ek güvence (mod_headers yoksa devreye girer)
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType image/png         "access plus 30 days"
  ExpiresByType image/jpeg        "access plus 30 days"
  ExpiresByType image/webp        "access plus 30 days"
  ExpiresByType image/svg+xml     "access plus 30 days"
  ExpiresByType image/x-icon      "access plus 30 days"
  ExpiresByType font/woff2        "access plus 30 days"
  ExpiresByType font/woff         "access plus 30 days"
  ExpiresByType text/css          "access plus 1 hour"
  ExpiresByType text/javascript   "access plus 1 hour"
  ExpiresByType application/javascript "access plus 1 hour"
</IfModule>

# ============================================================================
# GÜVENLİK — Admin paneli HTML'ine DOĞRUDAN erişimi engelle.
# Panel YALNIZCA gizli /xcv yolundan (HTTP Basic Auth arkasında) sunulur;
# Node dosyayı diskten okur. Web sunucusunun (LiteSpeed/Apache) admin.html'i
# statik olarak servis etmesini engelleriz → "kaynağı görüntüle" ile panel
# yapısı/endpoint isimleri SIZMAZ. mod_alias/Files — rewrite DEĞİL, Passenger
# routing'ine dokunmaz, /xcv erişimi etkilenmez.
# ============================================================================
<IfModule mod_alias.c>
  RedirectMatch 404 (?i)^/admin\.html$
</IfModule>
<IfModule !mod_alias.c>
  <Files "admin.html">
    <IfModule mod_authz_core.c>
      Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
      Order allow,deny
      Deny from all
    </IfModule>
  </Files>
</IfModule>
