Как выходить из ситуации, когда 2 действия возвращают один результат?
В первом случае должен быть код 400, а не 404.
Ну и код будет красивее (на мой взгляд) выглядеть, если эту проверку вынести в начало, избавившись от else-спагеттин c помощью концепта "early return":

// Валидируем 
if (count($path) !== 3) {
    http_response_code(400); //  вот тут 400, потому что это корявый запрос, мы даже ничего и не искали
    die();    
}

// Получаем данные 
$result  = getGesult();

// Валидируем данные 
if ($result !== true) { 
    http_response_code(404);
    die();    
}

// Дальше код, который выведет данные
Просто проверяйте формат входящего URLa, перед проверкой удаляйте лишние слеши.  И если он валиден, то делайте с ним дальше что хотите, тогда не придется писать две ошибки вместо одной.