RewriteEngine On SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 # --- API routing: /api/* → backend/ --- # 3 levels RewriteRule ^api/([^/]+)/([^/]+)/([^/]+)\.php/?$ backend/$1/$2/$3.php [L,QSA] RewriteRule ^api/([^/]+)/([^/]+)/([^/]+)/?$ backend/$1/$2/$3.php [L,QSA] # 2 levels RewriteRule ^api/([^/]+)/([^/]+)\.php/?$ backend/$1/$2.php [L,QSA] RewriteRule ^api/([^/]+)/([^/]+)/?$ backend/$1/$2.php [L,QSA] # 1 level RewriteRule ^api/([^/]+)\.php/?$ backend/$1.php [L,QSA] RewriteRule ^api/([^/]+)/?$ backend/$1.php [L,QSA] # Auto-append .php for direct /backend/ access RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !\.php$ RewriteRule ^backend/(.*)$ backend/$1.php [L,QSA] # --- SPA fallback --- RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L]