# ==============================================================================
# BIHU HANDMADE — APACHE CONFIGURATION (.htaccess)
# Designed for DirectAdmin / cPanel Shared Hosting (Apache 2.4+ / LiteSpeed)
# ==============================================================================

# Disable directory listing
Options -Indexes

# Follow symlinks for mod_rewrite
Options +FollowSymLinks

# Prevent viewing of sensitive configuration files or logs
<FilesMatch "(^\.env|\.git|\.lock|composer\.(json|lock)|\.sql|\.log)$">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order deny,allow
        Deny from all
    </IfModule>
</FilesMatch>

# UTF-8 default charset
AddDefaultCharset UTF-8

# URL Rewriting to front controller index.php
<IfModule mod_rewrite.c>
    RewriteEngine On

    # Set RewriteBase if installed in a subdirectory (e.g. /admin-api/)
    # RewriteBase /

    # Pass Authorization Header to PHP on Apache CGI / FastCGI
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect trailing slashes if not a folder
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Send all non-file/non-directory requests to index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^ index.php [QSA,L]
</IfModule>

# Compression
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE application/json
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE text/plain
</IfModule>
