safeLoad(); $strCtrl = preg_replace('/[^a-zA-Z]/', '', $_GET['ctrl'] ?? 'project'); $strMethod = preg_replace('/[^a-zA-Z_]/', '', $_GET['action'] ?? 'home'); $strClassName = "Controllers\\" . ucfirst($strCtrl) . "Ctrl"; $boolError = false; if (class_exists($strClassName)) { $objController = new $strClassName(); if (method_exists($objController, $strMethod)) { $objController->$strMethod(); } else { $boolError = true; } } else { $boolError = true; } if ($boolError) { http_response_code(404); // ← important pour le SEO et les navigateurs $error = new \Controllers\ErrorCtrl(); $error->error_404(); // ← pas de "return", juste l'appel exit; // ← stoppe l'exécution après l'affichage }