From bd95f5581d4479074cab58576762d3fdded39ec2 Mon Sep 17 00:00:00 2001 From: fananazril Date: Sat, 13 Jun 2026 09:18:47 +0700 Subject: [PATCH] fix: make BASE_URL dynamic to resolve CSS loading issues on deployment --- config/config.php | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/config/config.php b/config/config.php index 7df3c52..1857fcc 100644 --- a/config/config.php +++ b/config/config.php @@ -20,11 +20,36 @@ if (file_exists($envFile)) { } } -// Base URL aplikasi -$defaultBaseUrl = 'http://ygo4ck40cossgcww4ooc400w.203.24.51.230.sslip.io'; -define('BASE_URL', getenv('BASE_URL') ?: $defaultBaseUrl); +// Path dasar aplikasi define('BASE_PATH', dirname(__DIR__)); +// Base URL aplikasi (Deteksi Dinamis) +if (isset($_SERVER['HTTP_HOST'])) { + // Deteksi protokol (HTTP / HTTPS) dengan dukungan reverse proxy (SSL Offloading) + $scheme = 'http'; + if ( + (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] === 'on' || $_SERVER['HTTPS'] == 1)) || + (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') || + (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) + ) { + $scheme = 'https'; + } + + // Deteksi sub-direktori jika ada (misal: /webjir/poverty_map) + $docRoot = rtrim(str_replace('\\', '/', $_SERVER['DOCUMENT_ROOT']), '/'); + $basePath = rtrim(str_replace('\\', '/', BASE_PATH), '/'); + $subDir = ''; + if (strpos($basePath, $docRoot) === 0) { + $subDir = substr($basePath, strlen($docRoot)); + } + + define('BASE_URL', $scheme . '://' . $_SERVER['HTTP_HOST'] . $subDir); +} else { + // Fallback untuk CLI / Cron + $defaultBaseUrl = 'http://ygo4ck40cossgcww4ooc400w.203.24.51.230.sslip.io'; + define('BASE_URL', getenv('BASE_URL') ?: $defaultBaseUrl); +} + // Koordinat default peta (Pontianak) define('MAP_DEFAULT_LAT', -0.0263); define('MAP_DEFAULT_LNG', 109.3425);