Почему не работает роутинг сайта при использовании более одного элемента url пути
Я только начинаю программировать сайты и у меня возникли проблемы с роутингом сайта, с основными ссылками работает всё нормально(http://site/catalog и так далее), но проблемы возникают с более длинными url (http://site/about/contact), можете подсказать в чём проблема
<?php
$uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$segments = explode('/', trim($uri, '/'));
switch ($segments[0]) {
case 'about':
if($segments[1] === ''){
require 'pages/about/about.php';
}
else{
$file = 'pages/about/' . $segments[1] . '.php';
if(file_exists($file))
require $file;
else
require 'pages/404.php';
}
break;
default:
if($segments[0] === ''){
require 'pages/main.php';
}
else{
$file = 'pages/' . $segments[0] . '.php';
if(file_exists($file))
require $file;
else
require 'pages/404.php';
}
break;
}