Dans la méthode getUrl, la fonction dirname($_SERVER['PHP_SELF']) renvoie un slash au début mais pas à la fin, tu en rajoutes un OK
mais dans la cas où tu es à la racine du site, dirname renvoie quand même le slash de début (anti-slash sous windows)
donc tu en a deux
il faut soit traiter le cas particulier de la racine, soit utiliser une constante BASE_URL qui remplacera le dirname
define('BASE_URL', '/'); // http://monsite.com/
ou
define('BASE_URL', '/monsite/'); //wamp http://localhost/monsite/
return 'https://' . $_SERVER['HTTP_HOST'] . BASE_URL . $path;