Benutzerdefiniertes URL-Routing mit PHP und Regex

Ich versuche, ein sehr einfaches URL-Routing zu erstellen. Mein Gedankengang war:

Überprüfen Sie zuerst alle statischen URLsÜberprüfen Sie dann die Datenbank-URLsDann geben Sie 404 zurück, falls keines existiert

Die statischen URLs sind natürlich leicht zu erstellen, aber ich versuche herauszufinden, wie man dynamische URLs am besten erstellt. Ich würde es vorziehen, kein statisches Präfix festlegen zu müssen, obwohl ich weiß, dass dies das Codieren erheblich erleichtern würde.

Das habe ich aktuell:

$requestURL = $_SERVER['REQUEST_URI'];

if ($requestURL == '/') {
    // do stuff for the homepage
}

elseif ($requestURL == '/register') {
    // do stuff for registration
}

// should match just "/some-unique-url-here"
elseif (preg_match("/([\/A-Za-z0-9\-]+)/",$requestURL)) { 
    // query database for that url variable
}

// should match "/some-unique-url/and-another-unique-url"
elseif (preg_match("(^\/[A-Za-z0-9\-]+\/[A-Za-z0-9\-]+)/",$requestURL)) {
    // query database for first and second variable
}

else {
    // 404 stuff
}

Mein Problem ist, dass wenn ich "/ register" URI habe, es die zweite elseif-Anweisung sowie die Regex-Anweisung übereinstimmt. Ich möchte jedoch vermeiden, dass jede statische URL ausdrücklich von der regulären Ausdrücke ausgeschlossen werden muss, z.

// should match just "/some-unique-url-here"
elseif ((preg_match("/([\/A-Za-z0-9\-]+)/",$requestURL)) &&
    ($requestURL !== '/register') &&
    ($requestURL !== '/')) { 
    // query database for that url variable
}

Was ist der einfachste Weg, um dieses Problem zu lösen? Ich werde wahrscheinlich 15-20 statische URLs haben, daher wäre es sehr umständlich, wenn ich sie alle ausschließen würde.