
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    
    # Desabilita MultiViews para evitar conflitos
    Options -MultiViews -Indexes +FollowSymLinks
    
    # Define o index padrão
    DirectoryIndex public/index.php
    
    # Regra para /assets/ - servir arquivos estáticos sem processamento PHP
    RewriteCond %{REQUEST_URI} ^/assets/
    RewriteRule ^assets/(.*)$ assets/$1 [L]
    
    # Servir arquivos estáticos (CSS, JS, imagens) diretamente do public
    RewriteCond %{REQUEST_URI} \.(css|js|png|jpg|jpeg|gif|ico|svg)$
    RewriteCond %{DOCUMENT_ROOT}/public/$1 -f
    RewriteRule ^(.+\.(css|js|png|jpg|jpeg|gif|ico|svg))$ public/$1 [L]
    
    # Se o arquivo existe em public/, serve diretamente
    RewriteCond %{DOCUMENT_ROOT}/public%{REQUEST_URI} -f
    RewriteRule ^(.*)$ public/$1 [L]
    
    # Redirecionar todas as outras requisições para public/index.php
    # Isso inclui rotas não encontradas
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ public/index.php [L,QSA]
    
    # Fallback final - se nada acima funcionou, vai para index
    RewriteCond %{REQUEST_URI} !^/public/index\.php$
    RewriteRule .* public/index.php [L,QSA]
</IfModule>

# Páginas de erro personalizadas - redireciona erros para o index.php
ErrorDocument 404 /public/index.php
ErrorDocument 403 /public/index.php
ErrorDocument 500 /public/index.php

# Cache para arquivos estáticos
<IfModule mod_expires.c>
    ExpiresActive On
    
    # CSS, JS, Imagens
    <FilesMatch "\.(css|js|png|jpg|jpeg|gif|ico|svg)$">
        ExpiresDefault "access plus 1 year"
        Header set Cache-Control "public, immutable"
    </FilesMatch>
</IfModule>

# Bloqueia execução de PHP em assets
<FilesMatch "^assets/.*\.php$">
    Require all denied
</FilesMatch>
# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php81” package as the default “PHP” programming language.
<IfModule mime_module>
  AddHandler application/x-httpd-ea-php81 .php .php8 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
