本文前提:在多应用模式中
自动多应用部署
官方手册原文 多应用模式通过index.php入口文件访问的话,并且没有设置应用name,系统自动采用自动多应用模式
如果没有指定访问的应用,自动访问默认应用
http://serverName/index.php
默认应用在 config/app.php
文件 default_app
配置项指定(框架默认:index)
return [
// 默认应用
'default_app' => 'index',
];
默认访问的控制器和方法在 config/route.php
文件中指定
return [
// 默认控制器名
'default_controller' => 'Index',
// 默认操作名
'default_action' => 'index',
];
访问admin应用
http://serverName/index.php/admin
访问shop应用
http://serverName/index.php/shop
就是说 pathinfo
地址的第一个参数就表示当前的应用名,后面才是该应用的路由或者控制器/操作
http://serverName/index.php/应用/控制器/方法
应用不存在时,系统会自动切换到单应用模式,并进行全局路由(route/*.php)匹配检查
如果希望应用不存在的时候,直接访问默认应用的路由
config/app.php
中添加 app_express
配置项default_app
配置项指定的默认应用return [
// 开启应用快速访问
'app_express' => true,
];
此时因为 abc
应用不存在,因为开启了应用的快速访问,所以abc
被当做了控制器名