Roteamento de URL personalizado com PHP e regex

Eu estou tentando criar um roteamento de URL muito simples, e meu processo de pensamento foi este:

Primeiro verifique todos os URLs estáticosEm seguida, verifique os URLs do banco de dadosEm seguida, retorne 404 se não existir

As URLs estáticas são fáceis de fazer, é claro, mas estou tentando descobrir a melhor maneira de fazer as dinâmicas. Eu preferiria não ter que definir um prefixo estático, apesar de saber que isso tornaria isso muito mais fácil de codificar.

Isto é o que eu tenho atualmente:

$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
}

Meu problema é que, se eu tiver o URI "/ register", ele corresponderá à segunda instrução elseif e à instrução regex. Mas eu quero evitar especificamente excluir cada URL estática da instrução regex, como esta:

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

Qual é a maneira mais fácil de resolver este problema? Eu provavelmente terei 15-20 URLs estáticos, então especificamente excluir todos eles seria muito desajeitado.

questionAnswers(1)

yourAnswerToTheQuestion