第一步:执行指令安装多应用模式功能;

composer require topthink/think-multi-app

第二步:删除app目录下的所有文件,创建应用目录;

php think build 应用名称

第三步:配置默认应用,修改config/app.php,添加以下配置;

// 设置默认应用名称
'default_app' => 'home',
// 开启自动多模式
'auto_multi_app' => true,
// 开启应用快速访问
'app_express' => false,

 第四步:配置隐藏入口文件,修改nginx配置***.conf;

(注意:如果没有设置这一步,就必须带上入口文件,并且可能需要带上参数s,例如:http://servername/index.php?s=admin

location / {
    try_files $uri $uri/ /index.php?$query_string;
    index  index.html index.htm index.php;
    autoindex  on;
    if (!-e $request_filename) {
        rewrite  ^(.*)$ /index.php?s=/$1  last;
        break;
    }
}

到这一步,基本上可以正常访问了,访问路由:http://servername/应用名称/控制器/方法。

也可以通过设置好的路由进行访问,但是必须指明应用名称,例如:http://servername/应用名称/route。

如果不希望将应用名称显示出来,可以通过修改配置config/app.php来达到隐藏真实应用名称的目的:

第一种方法:应用映射。

通过映射方法取代真实的应用名称(修改配置文件config/app.php):

// 应用映射(自动多应用模式有效)
'app_map' => [
    'test' => 'admin'
],

原本的路由:http://servername/admin/index/index,使用映射后,原路由将无法访问,必须通过:http://servername/test/index/index来访问。

第二种方法:域名绑定。

首先,需要有一个正常访问的域名(admin-payment.com),如果本地,可以自定义域名;

然后,将域名根目录执行项目的public目录,并且可以正常访问;

最后,修改配置config/app.php。

 
// 域名绑定(自动多应用模式有效)
'domain_bind' => [
    'admin-payment.com' => 'admin'
],

这样,访问http://admin-payment.com就相当于访问http://servername/admin。