Options -Indexes
ServerSignature Off
# ── Security Headers ──
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-XSS-Protection "1; mode=block"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
# ── PHP Settings ──
php_flag display_errors Off
php_flag log_errors On
php_value error_log /tmp/proart_errors.log
# ── Protect config files ──
Order allow,deny
Deny from all
# ── Protect core directory ──
RewriteEngine On
RewriteBase /
# Block direct access to core PHP files
RewriteRule ^core/ - [F,L]
# Redirect bare domain to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^$ index.php [L]
# ── Cache static assets ──
ExpiresActive On
ExpiresByType text/css "access plus 7 days"
ExpiresByType application/javascript "access plus 7 days"
ExpiresByType image/png "access plus 30 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/webp "access plus 30 days"
# ── Gzip Compression ──
AddOutputFilterByType DEFLATE text/html text/css application/javascript application/json