ErrorDocument 404 /404.html

# Enable rewriting
RewriteEngine On
RewriteBase /

# 1. Map API requests transparently to PHP files
# E.g., /api/accounts -> /api/accounts.php, /api/categories -> /api/categories.php, /api/vault -> /api/vault.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^api/([^/]+)$ api/$1.php [L,QSA]

# E.g., /api/auth/login -> /api/auth/login.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^api/auth/([^/]+)$ api/auth/$1.php [L,QSA]

# 2. Support Next.js clean URLs (map /settings to /settings.html)
# Remove trailing slash from requests (except actual directories)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [R=301,L]

# Map extensionless URLs to their corresponding HTML file (if it exists)
# E.g., /settings -> /settings.html
RewriteCond %{DOCUMENT_ROOT}/$1.html -f
RewriteRule ^([^/]+)$ $1.html [L]

# Serve requested file/directory if it exists directly
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

# 3. Block direct web access to .env files (Security measure)
<Files ".env">
    Order allow,deny
    Deny from all
</Files>
