controller not exists:TypingClub_1.5.2_x64_zh-CN.msi
/data/www/typing/vendor/topthink/framework/src/think/route/dispatch/Url.php
62
0
        if ($controller && !preg_match('/^[A-Za-z0-9][\w|\.]*$/', $controller)) {
            throw new HttpException(404, 'controller not exists:' . $controller);
        }



#0 /data/www/typing/vendor/topthink/framework/src/think/route/dispatch/Url.php(31): think\route\dispatch\Url->parseUrl()
#1 /data/www/typing/vendor/topthink/framework/src/think/Route.php(865): think\route\dispatch\Url->__construct()
#2 /data/www/typing/vendor/topthink/framework/src/think/Route.php(823): think\Route->url()
#3 /data/www/typing/vendor/topthink/framework/src/think/Route.php(783): think\Route->check()
#4 /data/www/typing/vendor/topthink/framework/src/think/Http.php(216): think\Route->dispatch()
#5 /data/www/typing/vendor/topthink/framework/src/think/Http.php(206): think\Http->dispatchToRoute()
#6 /data/www/typing/vendor/topthink/framework/src/think/Pipeline.php(59): think\Http->think\{closure}()
#7 /data/www/typing/vendor/topthink/think-multi-app/src/MultiApp.php(51): think\Pipeline->think\{closure}()
#8 /data/www/typing/vendor/topthink/framework/src/think/Pipeline.php(59): think\app\MultiApp->think\app\{closure}()
#9 /data/www/typing/vendor/topthink/framework/src/think/middleware/SessionInit.php(67): think\Pipeline->think\{closure}()
#10 [internal function]: think\middleware\SessionInit->handle()
#11 /data/www/typing/vendor/topthink/framework/src/think/Middleware.php(142): call_user_func()
#12 /data/www/typing/vendor/topthink/framework/src/think/Pipeline.php(85): think\Middleware->think\{closure}()
#13 /data/www/typing/app/typingclub/middleware/CheckAgentMiddleware.php(52): think\Pipeline->think\{closure}()
#14 [internal function]: app\typingclub\middleware\CheckAgentMiddleware->handle()
#15 /data/www/typing/vendor/topthink/framework/src/think/Middleware.php(142): call_user_func()
#16 /data/www/typing/vendor/topthink/framework/src/think/Pipeline.php(85): think\Middleware->think\{closure}()
#17 /data/www/typing/vendor/topthink/framework/src/think/Pipeline.php(66): think\Pipeline->think\{closure}()
#18 /data/www/typing/vendor/topthink/think-multi-app/src/MultiApp.php(52): think\Pipeline->then()
#19 [internal function]: think\app\MultiApp->handle()
#20 /data/www/typing/vendor/topthink/framework/src/think/Middleware.php(142): call_user_func()
#21 /data/www/typing/vendor/topthink/framework/src/think/Pipeline.php(85): think\Middleware->think\{closure}()
#22 /data/www/typing/vendor/topthink/framework/src/think/Pipeline.php(66): think\Pipeline->think\{closure}()
#23 /data/www/typing/vendor/topthink/framework/src/think/Http.php(207): think\Pipeline->then()
#24 /data/www/typing/vendor/topthink/framework/src/think/Http.php(170): think\Http->runWithRequest()
#25 /data/www/typing/public/index.php(9): think\Http->run()
#26 {main}