public static function redirect($url, $isExternal = false, $statusCode = 200) { if (array_key_exists($statusCode, self::$headerByCode)) { header(self::$headerByCode[$statusCode]); } if ($isExternal) { header('Location: ' . $url); exit; } $request = _Core_Request::getFake($url); $router = new _Core_Router($request, _Core_TemplateEngine::getPrepared($request)); try { $router->performRequest(); } catch (Exception $e) { // Вывод отладочной информации if (DEBUG) { echo highlight_string("<?php\n" . $e->getTraceAsString()); exit; } elseif ('/notfound' == $url) { exit; } else { self::redirect('/notfound', false, 404); } } }