/**
* Инициализация переменной
*/
$route = trim(isset($_GET['route']) ? $_GET['route'] : 'welcome', '/');
/**
* Фильтр URL
*/
if(!preg_match('/^[a-z 0-9_\/]+$/u', $route))
show404();
/**
* Маршрут
*/
$fragments = explode('/', $route);
$result = [
'directory' => array_shift($fragments),
'controller' => array_shift($fragments),
'segments' => $fragments
];
if(empty($result['controller']))
$result['controller'] = 'index';
if(!is_dir(LIF_PATH . '/application/controllers/' . $result['directory']) && !is_file(LIF_PATH . '/application/controllers/' . $result['directory'] . '/' . $result['controller'] . '.php'))
show404();
Все ли нормально?