# ====================================================
# KINGS HUB ECOSYSTEM — cPanel Apache Configuration
# Handles HTTPS redirection, Node.js Passenger Proxy,
# SPA Router Fallbacks, Security Headers, & Compression
# ====================================================

# 1. FORCE HTTPS ENFORCEMENT
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

# 2. CPANEL PHUSION PASSENGER NODE.JS HANDLER (If cPanel Node Manager active)
<IfModule mod_passenger.c>
    PassengerAppRoot "/home/username/public_html"
    PassengerAppType node
    PassengerStartupFile app.js
</IfModule>

# 3. APACHE PROXY TO NODE SERVER (If running Node background daemon)
<IfModule mod_proxy.c>
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^api/v1/(.*)$ http://127.0.0.1:3000/api/v1/$1 [P,L]
</IfModule>

# 4. SPA FRONTEND ROUTING FALLBACK
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.html$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.html [L]
</IfModule>

# 5. SECURITY HEADERS
<IfModule mod_headers.c>
    Header set X-Content-Type-Options "nosniff"
    Header set X-Frame-Options "SAMEORIGIN"
    Header set X-XSS-Protection "1; mode=block"
    Header set Referrer-Policy "no-referrer-when-downgrade"
</IfModule>

# 6. GZIP COMPRESSION FOR MOBILE NETWORKS
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/css application/javascript application/json image/svg+xml
</IfModule>
