# SIMAE - Configuração do Apache
RewriteEngine On
RewriteBase /simae/

# Redireciona /admin para /admin/login
RewriteRule ^admin$ admin/login [R=301,L]

# Permite que a pasta admin gerencie suas próprias regras
RewriteRule ^admin($|/) - [L]

# Para outras URLs, remove extensões .php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]

# Se não encontrar o arquivo, redireciona para o index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]

# Protege arquivos sensíveis
<Files ~ "^.*\.(env|log|sql|htaccess|htpasswd|ini|phps|fla|psd|properties|yml|yaml)$">
    Order Allow,Deny
    Deny from all
</Files>

# Previne listagem de diretórios
Options -Indexes

# Define charset padrão
AddDefaultCharset UTF-8

# Protege contra XSS, clickjacking e outros ataques
<IfModule mod_headers.c>
    Header set X-Content-Type-Options nosniff
    Header set X-XSS-Protection "1; mode=block"
    Header set X-Frame-Options SAMEORIGIN
    Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval' https: data:"
</IfModule>

# Compressão GZIP
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/plain text/html text/css application/json application/javascript application/x-javascript text/javascript text/xml application/xml application/rss+xml application/atom+xml application/rdf+xml
</IfModule>

# Protege a pasta system
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

# Protege a pasta application
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^application.*
    RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

# Bloqueia acesso direto a arquivos sensíveis
<FilesMatch "^(application|system|\.htaccess)">
    Order allow,deny
    Deny from all
</FilesMatch>

# Previne listagem de diretórios
Options -Indexes

# Define charset padrão
AddDefaultCharset UTF-8

# Proteger arquivos sensíveis
<Files ".htaccess">
    Order allow,deny
    Deny from all
</Files>

<Files "*.sql">
    Order allow,deny
    Deny from all
</Files>

<Files "*.md">
    Order allow,deny
    Deny from all
</Files>