ThinkPHP6多应用模式使用强制路由模式的坑

TP6的Nginx伪静态规则

if (!-e $request_filename) {
    rewrite  ^/(.*)$  /index.php/$1  last;
    break;
}

TP6 默认安装是单应用模式.如果是使用多应用模式先删除 app 下面的 controller 目录.然后安装多应用扩展.

composer require topthink/think-multi-app

然后可用命令行生成应用

如生成一个 index

php think build index

当启动强制路由模式的时候,在根目录下route目录里面的 app.php 定义的路由会失效…一直报错找不到路由..

这个时候需要在

app/index 目录下自己建立一个 route 目录,然后在新建一个 app.php 文件,

app.php 文件内,如:

<?php
//跟 TP5 差不多 在手册里可以找到
namespace app\index\route;
use think\facade\Route;
 
Route::get('/', 'index/index/index');

强制路由开启方式:

打开 config 目录下面的 app.php 添加:

// 开启多应用
'auto_multi_app' => true,

app_mapdomain_bind 配置

// 应用映射(自动多应用模式有效)
'app_map' => [
	'api' => 'api',//类似于分组 访问/api => 访问 api 应用
	'*' => 'index',.... //其他就是 index 应用
],
// 域名绑定(自动多应用模式有效)
'domain_bind' => [
	'www' => 'index',//域名访问 www.xxx.com 就进入 index 应用
	 'm'=>'mobile ',....//访问 m.xxx.com 就进入 mobile 应用
],

以上. 记录
-End-

风影OvO

风影OvO, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA 4.0协议进行授权 | 转载请注明原文链接

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

相关推荐