# Disable directory listing
Options -Indexes

# Enable mod_rewrite
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    # Prevent access to sensitive directories
    RewriteRule ^config/ - [F]
    RewriteRule ^functions/ - [F]
    # Allow order logos only.
    RewriteRule ^uploads/logos/ - [L]
    RewriteRule ^uploads/ - [F]
    RewriteRule ^qrcodes/ - [F]
</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>

# Deny access to .env files and other sensitive files
<Files "*.env">
    Deny from all
</Files>

<Files "*.md">
    Deny from all
</Files>

<Files ".htaccess">
    Deny from all
</Files>

# Cache control for static files
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType application/javascript "access plus 1 week"
</IfModule>
