{"message":"controller not exists:void(0)","status":500,"data":[],"debug":{"name":"think\\exception\\HttpException","file":"\/www\/wwwroot\/xha5002.com\/vendor\/topthink\/framework\/src\/think\/route\/dispatch\/Url.php","line":62,"code":0,"message":"控制器不存在:void(0)","trace":[{"file":"\/www\/wwwroot\/xha5002.com\/vendor\/topthink\/framework\/src\/think\/route\/dispatch\/Url.php","line":31,"function":"parseUrl","class":"think\\route\\dispatch\\Url","type":"->"},{"file":"\/www\/wwwroot\/xha5002.com\/vendor\/topthink\/framework\/src\/think\/Route.php","line":857,"function":"__construct","class":"think\\route\\dispatch\\Url","type":"->"},{"file":"\/www\/wwwroot\/xha5002.com\/vendor\/topthink\/framework\/src\/think\/Route.php","line":777,"function":"url","class":"think\\Route","type":"->"},{"file":"\/www\/wwwroot\/xha5002.com\/vendor\/topthink\/framework\/src\/think\/Http.php","line":216,"function":"dispatch","class":"think\\Route","type":"->"},{"file":"\/www\/wwwroot\/xha5002.com\/vendor\/topthink\/framework\/src\/think\/Http.php","line":206,"function":"dispatchToRoute","class":"think\\Http","type":"->"},{"file":"\/www\/wwwroot\/xha5002.com\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":59,"function":"think\\{closure}","class":"think\\Http","type":"->"},{"file":"\/www\/wwwroot\/xha5002.com\/vendor\/topthink\/think-multi-app\/src\/MultiApp.php","line":65,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"function":"handle","class":"think\\app\\MultiApp","type":"->"},{"file":"\/www\/wwwroot\/xha5002.com\/vendor\/topthink\/framework\/src\/think\/Middleware.php","line":142,"function":"call_user_func"},{"file":"\/www\/wwwroot\/xha5002.com\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":85,"function":"think\\{closure}","class":"think\\Middleware","type":"->"},{"file":"\/www\/wwwroot\/xha5002.com\/cores\/middleware\/AppLog.php","line":35,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"function":"handle","class":"cores\\middleware\\AppLog","type":"->"},{"file":"\/www\/wwwroot\/xha5002.com\/vendor\/topthink\/framework\/src\/think\/Middleware.php","line":142,"function":"call_user_func"},{"file":"\/www\/wwwroot\/xha5002.com\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":85,"function":"think\\{closure}","class":"think\\Middleware","type":"->"},{"file":"\/www\/wwwroot\/xha5002.com\/cores\/middleware\/AllowCrossDomain.php","line":90,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"function":"handle","class":"cores\\middleware\\AllowCrossDomain","type":"->"},{"file":"\/www\/wwwroot\/xha5002.com\/vendor\/topthink\/framework\/src\/think\/Middleware.php","line":142,"function":"call_user_func"},{"file":"\/www\/wwwroot\/xha5002.com\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":85,"function":"think\\{closure}","class":"think\\Middleware","type":"->"},{"file":"\/www\/wwwroot\/xha5002.com\/vendor\/topthink\/framework\/src\/think\/Pipeline.php","line":66,"function":"think\\{closure}","class":"think\\Pipeline","type":"->"},{"file":"\/www\/wwwroot\/xha5002.com\/vendor\/topthink\/framework\/src\/think\/Http.php","line":207,"function":"then","class":"think\\Pipeline","type":"->"},{"file":"\/www\/wwwroot\/xha5002.com\/vendor\/topthink\/framework\/src\/think\/Http.php","line":170,"function":"runWithRequest","class":"think\\Http","type":"->"},{"file":"\/www\/wwwroot\/xha5002.com\/public\/index.php","line":15,"function":"run","class":"think\\Http","type":"->"}],"source":{"first":53,"source":["        $path = $this->rule->parseUrlPath($url);\n","        if (empty($path)) {\n","            return [null, null];\n","        }\n","\n","        \/\/ 解析控制器\n","        $controller = !empty($path) ? array_shift($path) : null;\n","\n","        if ($controller && !preg_match('\/^[A-Za-z0-9][\\w|\\.]*$\/', $controller)) {\n","            throw new HttpException(404, 'controller not exists:' . $controller);\n","        }\n","\n","        \/\/ 解析操作\n","        $action = !empty($path) ? array_shift($path) : null;\n","        $var    = [];\n","\n","        \/\/ 解析额外参数\n","        if ($path) {\n","            preg_replace_callback('\/(\\w+)\\|([^\\|]+)\/', function ($match) use (&$var) {\n"]}}}