ThinkPHP6中中间件、多域名(泛域名)与应用的绑定
最近做一个项目,使用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');
两种方法中,如果域名只是固定的,那么使用第一种即可。如果需要动态修改,那第二种是最合适的办法。