RewriteEngine On

# Redirect install.php if config doesn't exist
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# API routes
RewriteRule ^api/(.*)$ api/router.php?route=$1 [QSA,L]

# Serve static files from public/
RewriteCond %{REQUEST_URI} !^/api/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]

# Protect data directory
<IfModule mod_authz_core.c>
    <Directory "data">
        Require all denied
    </Directory>
</IfModule>

# 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"
</IfModule>

# PHP settings
<IfModule mod_php.c>
    php_value upload_max_filesize 15M
    php_value post_max_size 15M
    php_value max_execution_time 300
    php_value memory_limit 256M
</IfModule>