您现在的位置是:首页 > thinkphp thinkphp6多应用模式下的路由不生效问题 马力 2021-01-28 11:48:12 【thinkphp】 3823人已围观 简介thinkphp6多应用模式下访问路由显示路由不匹配的解决方法 #thinkphp6多应用模式下访问路由显示路由不匹配的解决方法: ###问题描述: [0]RouteNotFoundException in Route.php line 799 当前访问路由未定义或不匹配 if (false === $result && !empty($this->cross)) { // 检测跨域路由 $result = $this->cross->check($this->request, $url, $completeMatch); } if (false !== $result) { return $result; } elseif ($this->config['url_route_must']) { throw new RouteNotFoundException(); } return $this->url($url); } /** * 获取当前请求URL的pathinfo信息(不含URL后缀) * @access protected * @return string ###解决方法: (1)方法一: 在public目录下,复制index.php文件,针对每一个应用分别新建文件:例如: 现有admin应用,新建一个admin.php文件,复制index.php的内容然后修改其中的 $response = $http->name('admin')->run(); name 对应你的应用名称 然后访问的时候,把把以前的index.php换成对用应用的文件,例如: 以前访问默认应用的路径为 域名/index.php/index 访问其他应用的路径,比如上面的admin应用为 域名/admin.php/idnex (2)方法二: 自动多应用模式下,支持应用的别名映射,例如: 'app_map' => [ 'think' => 'admin', // 把admin应用映射为think ], 应用映射后,原来的应用名将不能被访问,例如上面的admin应用不能直接访问,只能通过think应用访问。 应用映射支持泛解析,例如: 'app_map' => [ 'think' => 'admin', 'home' => 'index', '*' => 'index', ], 表示如果URL访问的应用不在当前设置的映射里面,则自动映射为index应用。 如果要使用composer加载应用,需要设置 'app_map' => [ 'think' => function($app) { $app->http->path('path/to/composer/app'); }, ], 域名绑定应用 如果你的多应用使用多个子域名或者独立域名访问,你可以在config/app.php配置文件中定义域名和应用的绑定。 'domain_bind' => [ 'blog' => 'blog', // blog子域名绑定到blog应用 'shop.tp.com' => 'shop', // 完整域名绑定 '*' => 'home', // 二级泛域名绑定到home应用 ], 很赞哦! (6) 上一篇:laravel的上线配置操作 下一篇:Ubuntu18.04虚拟机过一段时间无法上网 相关文章 随机图文 thinkphp6 视图模板下的变量的使用 thinkphp6 视图模板下的变量的使用 php面试大全 (不定时更新) php 面试 ajax下的异步提交表单 file类型的input框无法被提交 ajax下的异步提交表单 file类型的input框无法被提交 php常用的 命令行 php常用的 命令行 文章评论 评论总数:0来说两句吧... 用户名: 验证码: 点击排行 thinkphp6 视图模板下的变量的使用 最近更新 thinkphp6 视图模板下的变量的使用 thinkphp6多应用模式下的路由不生效问题