# Apache Configuration for Production (cPanel)
# This file handles routing when deployed on Apache/cPanel

# Enable Rewrite Engine
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    
    # Route /admin/ requests to admin directory
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^admin/?(.*)$ admin/$1 [L]
    
    # Route /api/ requests to api directory
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^api/?(.*)$ api/$1 [L]
    
    # Route /uploads/ requests to uploads directory
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^uploads/?(.*)$ uploads/$1 [L]
    
    # Handle /backend/ prefix (for compatibility)
    # Strip /backend/ and route to appropriate directory
    RewriteCond %{REQUEST_URI} ^/backend/admin/?(.*)$
    RewriteRule ^backend/admin/?(.*)$ admin/$1 [L]
    
    RewriteCond %{REQUEST_URI} ^/backend/api/?(.*)$
    RewriteRule ^backend/api/?(.*)$ api/$1 [L]
    
    RewriteCond %{REQUEST_URI} ^/backend/uploads/?(.*)$
    RewriteRule ^backend/uploads/?(.*)$ uploads/$1 [L]
    
    # Admin index redirect
    RewriteCond %{REQUEST_URI} ^/admin/?$
    RewriteRule ^admin/?$ admin/index.php [L]
    
    RewriteCond %{REQUEST_URI} ^/backend/admin/?$
    RewriteRule ^backend/admin/?$ admin/index.php [L]
</IfModule>

# Security: Prevent direct access to config files
<FilesMatch "^(database|email|security)\.php$">
    Require all denied
</FilesMatch>

# Enable CORS for API
<IfModule mod_headers.c>
    <FilesMatch "\.php$">
        Header set Access-Control-Allow-Origin "*"
        Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"
        Header set Access-Control-Allow-Headers "Content-Type, Authorization"
    </FilesMatch>
</IfModule>

# Set proper MIME types for uploads
<IfModule mod_mime.c>
    AddType image/jpeg .jpg .jpeg
    AddType image/png .png
    AddType image/gif .gif
    AddType image/webp .webp
    AddType image/svg+xml .svg
    AddType video/mp4 .mp4
    AddType video/webm .webm
</IfModule>

# Cache control for images
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType image/gif "access plus 1 year"
    ExpiresByType image/webp "access plus 1 year"
    ExpiresByType image/svg+xml "access plus 1 year"
</IfModule>
