# Mengaktifkan Rewrite Engine
RewriteEngine On
RewriteBase /

ErrorDocument 400 /index.html
ErrorDocument 401 /index.html
ErrorDocument 403 /index.html
ErrorDocument 404 /index.html
ErrorDocument 500 /index.html
ErrorDocument 503 /index.html

# 1. JANGAN UTAT-ATIK FILE ATAU FOLDER ASLI (Seperti file .css, .js, gambar, dll)
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

# 2. UBAH: Paksa URL tanpa trailing slash ke versi trailing slash (kamus -> kamus/)
# Hanya memproses URL yang tidak memiliki titik (.) agar file aset tidak ikut terpengaruh
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]+)$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ /$1/ [R=301,L]

# 3. UBAH: Alihkan jika ada pengguna mengetik file .html secara penuh ke versi trailing slash (kamus.html -> kamus/)
RewriteCond %{THE_REQUEST} \s/+(.+)\.html[\s?] [NC]
RewriteRule ^ /%1/ [R=301,L]

# 4. INTERNAL REWRITE: Membaca file .html di latar belakang dari URL berakhiran slash
# Menggunakan substring BUKAN REQUEST_URI agar sistem memeriksa file .html dengan benar tanpa merusak jalur
RewriteCond %{DOCUMENT_ROOT}/$1.html -f
RewriteRule ^(.*)/$ $1.html [L]
