RewriteEngine On
RewriteBase /

# Remove index.html from URL
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1 [QSA,L]

# Redirect /admin to /admin/ (with trailing slash)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/admin$
RewriteRule ^(.*)$ /admin/ [R=301,L]

# Handle /admin directory requests
RewriteCond %{REQUEST_URI} ^/admin/?$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /admin/index.php [L]

# Remove .php extension but keep functionality
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([a-zA-Z0-9/_-]+)$ $1.php [NC,L]

# Security - Deny access to sensitive files
<FilesMatch "\.(env|sql|json|config|settings)$">
    Order Allow,Deny
    Deny from all
</FilesMatch>

# Compression
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
</IfModule>

# Cache control
<IfModule mod_headers.c>
    Header set Cache-Control "max-age=86400, public"
    <FilesMatch "\.(js|css|jpg|jpeg|png|gif|ico|svg)$">
        Header set Cache-Control "max-age=31536000, public"
    </FilesMatch>
</IfModule>

# Error handling
ErrorDocument 404 /admin/404.php
ErrorDocument 403 /admin/403.php
ErrorDocument 500 /admin/500.php

# PHP Settings
php_flag display_errors On
php_value error_reporting E_ALL
