ThinkPHP6中中间件、多域名(泛域名)与应用的绑定

飘逸的风4年前 (2021-11-10)程序1312

最近做一个项目,使用ThinkPHP6开发,项目中,需要用到多域名、多应用绑定。
现在把中间件用法记录下来,以便下次备用。

多域名的配置,用两种配置方法:

第一种,是配置固定的域名,在config中的app.php中设定domain_bind中设置绑定的域名。
可以在总配置中,也可以在各自应用总增加,如:

'domain_bind' => [
'admin.domain.com'=>'admin',
'*.domain2.com'=>'home',
'member'=>'member',
'*'=>'home'
]

上方是多种配置方法,详细说明,可以参考tp手册-架构-多应用模式

第二种,是在中间件中,动态配置域名(中间件的使用方法参见手册)。
中间件,可以是全局调用,也可以在预定义好的中间件中,需要使用多域名时再调用。
以下是在中间件中的设置方法:

$arr = [
'admin.domain.com'=>'admin',
'*.domain2.com'=>'home',
'member'=>'member',
'*'=>'home'
]
config(['domain_bind'=>$arr],'app');

两种方法中,如果域名只是固定的,那么使用第一种即可。如果需要动态修改,那第二种是最合适的办法。

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。