Options -Indexes

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    # 1. EXCLUDE ASSETS
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^(cdn-images|images-cdn|css|js|maintenance\.html) - [L]

    # 2. MAINTENANCE MODE (HANYA HOME)
    ErrorDocument 503 /maintenance.html
    RewriteCond %{REQUEST_URI} ^/($|index\.html) [NC]
    RewriteCond %{REQUEST_URI} !^/maintenance\.html$
    RewriteRule ^.*$ - [R=503,L]

    # 3. REMOVE TRAILING SLASH
    # Paksa /halaman/ jadi /halaman
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # 4. REDIRECT .HTML KE URL BERSIH
    # Paksa /halaman.html jadi /halaman
    RewriteCond %{THE_REQUEST} \s/+(.*?)\.html[\s?] [NC]
    RewriteRule ^(.*)\.html$ /$1 [R=301,L]

    # 5. INTERNAL MAPPING (Serve Content)
    # Membaca file .html dari URL tanpa slash
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{DOCUMENT_ROOT}/$1.html -f
    RewriteRule ^(.*)$ $1.html [L]
</IfModule>