Options -Indexes

# PHP error handling
php_flag display_errors Off
php_value upload_max_filesize 500M
php_value post_max_size 500M
php_value max_execution_time 300
php_value memory_limit 512M

# Deny direct access to sensitive files
<FilesMatch "\.(json|log|sql|sh|env)$">
    Order allow,deny
    Deny from all
</FilesMatch>

# Cache static assets
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpeg "access plus 7 days"
    ExpiresByType image/png  "access plus 7 days"
    ExpiresByType image/gif  "access plus 7 days"
    ExpiresByType image/webp "access plus 7 days"
    ExpiresByType video/mp4  "access plus 1 day"
    ExpiresByType text/css   "access plus 1 day"
    ExpiresByType text/javascript "access plus 1 day"
</IfModule>

# Gzip compression
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/css application/javascript application/json
</IfModule>
