You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Dynamic Asset Base URI & Trailing Slash Resilience (includes/config.php, includes/header.php, login.php, .htaccess, .htaccess.docker):
Root cause resolved: When accessing URLs with a trailing slash (e.g. https://domain/tools/ or through reverse proxies/Cloudflare), browsers evaluated relative asset links (assets/css/style.css, assets/js/...) against /tools/, resulting in 404 resource errors and completely unstyled rendering.
Implemented dynamic APP_BASE_PATH calculation in includes/config.php supporting domain roots (/ in Docker), subfolder deployments (/ipmanage/ in XAMPP), and reverse proxy configurations.
Added HTML <base href="..."> and root-relative asset prefixes in includes/header.php and login.php: guarantees CSS, Lucide icon definitions, and Chart.js load properly regardless of trailing slashes or routing depth.
Reordered .htaccess and .htaccess.docker rewrite rules so non-directory trailing slashes (e.g. /tools/ -> /tools) cleanly 301 redirect to canonical extensionless URLs instead of matching rewrite rules that retain the trailing slash.