RewriteEngine On # Route /assets/ requests to public/assets/ RewriteRule ^assets/(.*)$ public/assets/$1 [L,QSA] # Module API routing RewriteRule ^api/license/v1(?:/(.*))?$ public/api/license/v1/index.php [L,QSA] RewriteRule ^api/watchdog/v1(?:/(.*))?$ public/api/watchdog/v1/index.php [L,QSA] RewriteRule ^api/updateservice/v1(?:/(.*))?$ public/api/updateservice/v1/index.php [L,QSA] RewriteRule ^api/tokens/v1/provision public/api/tokens/v1/provision.php [L,QSA] RewriteRule ^api/bugtracker/v1/report public/api/bugtracker/v1/report.php [L,QSA] RewriteRule ^api/bugtracker/v1/projects public/api/bugtracker/v1/projects.php [L,QSA] RewriteRule ^api/bugtracker/v1/manage(?:/(.*))?$ public/api/bugtracker/v1/manage/index.php [L,QSA] # Documentation routing RewriteRule ^docs/(.*)$ public/docs/$1 [L,QSA] RewriteRule ^docs/?$ public/docs/index.php [L,QSA] # Fallback for static assets in /api/ RewriteRule ^api/(.*)$ public/api/$1 [L,QSA] # Route /install_db.php RewriteRule ^install_db\.php$ public/install_db.php [L,QSA] # Route /login.php & /logout.php RewriteRule ^login\.php$ public/login.php [L,QSA] RewriteRule ^logout\.php$ public/logout.php [L,QSA] # Route root requests to public/index.php RewriteRule ^$ public/index.php [L] RewriteRule ^index\.php$ public/index.php [L] # Block direct access to sensitive folders RewriteRule ^(config|src|sql|scripts)/ - [F,L]