# UtilizaAI - Configurações Apache

# Ativar mod_rewrite
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /utilizaai/public/

    # Remover www
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

    # Bloquear acesso a arquivos sensíveis
    RewriteRule ^(config|database|includes)/ - [F,L]
    RewriteRule \.(env|sql|json|log)$ - [F,L]

    # Redirecionar URLs bonitas
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?page=$1 [QSA,L]
</IfModule>

# Segurança
<Files ~ "\.php$">
    Deny from all
</Files>

# Permitir apenas index.php
<Files "index.php">
    Allow from all
</Files>

# Headers de Segurança
<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"
    Header set Referrer-Policy "no-referrer-when-downgrade"
    Header set Permissions-Policy "geolocation=(), microphone=(), camera=()"
</IfModule>

# Compressão GZIP
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json
</IfModule>

# Cache
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType text/javascript "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/gif "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType image/webp "access plus 1 year"
    ExpiresByType application/json "access plus 0 seconds"
    ExpiresByType text/html "access plus 0 seconds"
</IfModule>

# Prevenir acesso ao diretório uploads
<Directory "uploads">
    php_flag engine off
    AddType text/plain .php .php3 .php4 .php5 .phtml .phar .pht
    <FilesMatch "\.(php|phtml|php3|php4|php5)$">
        Order allow,deny
        Deny from all
    </FilesMatch>
</Directory>

# Limitar tamanho de upload
php_value upload_max_filesize 50M
php_value post_max_size 50M

# Timeout
php_value max_execution_time 300
php_value max_input_time 300
