Options -MultiViews
RewriteEngine On

# ---------------------------------------------------------
# 1. Explicitly block all public access to config files.
# This covers both:
# /config/...
# /website/config/...
# ---------------------------------------------------------
RewriteRule ^(?:website/)?config(?:/|$) - [F,L,NC]

# ---------------------------------------------------------
# 2. Redirect direct browser access from /website/... to /...
# Keep 302 while testing.
# ---------------------------------------------------------
RewriteCond %{THE_REQUEST} \s/+website(?:[/?\s]) [NC]
RewriteRule ^website(?:/(.*))?$ /$1 [R=301,L,NE]

# Allow internal rewrites into the physical /website folder
RewriteRule ^website(?:/|$) - [L,NC]

# ---------------------------------------------------------
# 3. Preserve real files located directly in the domain root
# ---------------------------------------------------------
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

# ---------------------------------------------------------
# 4. Preserve independent top-level systems
# Examples: /drawing/login, /booking/login
# ---------------------------------------------------------
RewriteCond %{DOCUMENT_ROOT}/$1 -d
RewriteRule ^([^/]+)(?:/|$) - [L]

# ---------------------------------------------------------
# 5. Internally map website resources
# /assets/...   → /website/assets/...
# /policies/... → /website/policies/...
# /api/...      → /website/api/...
# ---------------------------------------------------------
RewriteCond %{DOCUMENT_ROOT}/website/$1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/website/$1 -d
RewriteRule ^(.+)$ website/$1 [L]

# Corporate website homepage
RewriteRule ^$ website/index.html [L]

# React Router fallback
RewriteRule ^ website/index.html [L]