public static function getUrls() {
        if (static::$urls !== null)
            return static::$urls;

        $uri = $_SERVER['REQUEST_URI'];

        static::$isVirtual = true;
        if (substr($uri, 0, strlen($_SERVER['SCRIPT_NAME'])) === $_SERVER['SCRIPT_NAME']) {
            $uri = str_replace('/index.php', '', $uri);
        }
        else if (stristr($_SERVER['SCRIPT_NAME'], '/index.php', true)) {
            static::$serverPath = stristr($_SERVER['SCRIPT_NAME'], '/index.php', true);

            $uri = str_replace(array(static::$serverPath, '/index.php'), '', $uri);
            static::$isVirtual = false;
        }

        parse_str($_SERVER['QUERY_STRING'], $_GET);
        static::$urls = static::updateArrayKeys(explode('/', str_replace('?' . $_SERVER['QUERY_STRING'], '', $uri)), true);
        return static::$urls;
    }