• 一、安装多应用扩展
  • 二、删除项目的中默认的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;

}

}

六、测试并且访问多应用 

七、小结

  1. 安装多应用扩展 composer require topthink/think-multi-app
  2. 删除项目的默认controller文件夹
  3. 通过命令来快速生成多应用 php think build 应用名
  4. 将config/app.php中进行配置,将auto_multi_app 设置为true(可不配置),可参考上面第四项。
  5. 默认的多应用访问规则是 localhost:端口号/应用名称/控制器/控制方法
  6. 如果配置不同应用的不同域名的话,则通过config/app/php中的domain_bind配置项来进行配置
  7. 同时需要配置小皮的虚拟域名并与之对应。
  8. 不同域名访问不同应用的访问规则是 http://域名/index.php/控制器/方法名。

点赞(20) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部