- 一、安装多应用扩展
- 二、删除项目的中默认的controller文件夹
- 三、创建多应用
- 四、修改config/app.php文件(配置应用映射和域名)
- 五、配置小皮,不同域名访问不同的应用
- 六、测试并且访问多应用
- 七、小结
一、安装多应用扩展
composer require topthink/think-multi-app
二、删除项目的中默认的controller文件夹
安装完成后,删除项目的中默认的controller文件夹
三、创建多应用
使用命令来快速床架多应用(在命令终端中输入下面的命令),这里我创建了两个应用,index和admin
php think build index
php think build admin
四、修改config/app.php文件(全局)
1.配置应用映射
'app_map' => [
'think' => 'admin', // 把admin应用映射为think
],
应用映射后,原来的应用名将不能被访问,例如上面的admin
应用不能直接访问,只能通过think
应用访问。具体看官方手册ThinkPHP官方手册。
2.域名绑定应用
// 域名绑定(自动多应用模式有效) 'domain_bind' => [ 'index.tp8.com' => 'index', 'admin.tp8.com' => 'admin', ],
五、 配置小皮,不同域名访问不同的应用
注:我配置了伪静态,域名后面不要index.php就可以访问。nginx服务
location ~* (runtime|application)/{
return 403;
}
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
六、测试并且访问多应用
七、小结
- 安装多应用扩展
composer require topthink/think-multi-app
- 删除项目的默认controller文件夹
- 通过命令来快速生成多应用
php think build 应用名
- 将config/app.php中进行配置,将auto_multi_app 设置为true(可不配置),可参考上面第四项。
- 默认的多应用访问规则是 localhost:端口号/应用名称/控制器/控制方法
- 如果配置不同应用的不同域名的话,则通过config/app/php中的domain_bind配置项来进行配置
- 同时需要配置小皮的虚拟域名并与之对应。
- 不同域名访问不同应用的访问规则是 http://域名/index.php/控制器/方法名。
发表评论 取消回复