Yii2路由:url规则在/索引“-未明确指定操作

Yii2路由:url规则在/索引“-未明确指定操作,yii,routing,yii2,Yii,Routing,Yii2,这条路线需要一些额外的工作才能正常工作,但我看不出我需要做什么: 'http://<caregiverName:\w+>.' . $domain . '/<controller:\w+>/<action:\w+>' => '<controller>/<action>', 'http://'$域'/'=>'/', 当我像这样打电话给控制器/动作时,一切正常。当我调用控制器(没有显式索引)以调用actionIndex时,我无法捕获

这条路线需要一些额外的工作才能正常工作,但我看不出我需要做什么:

'http://<caregiverName:\w+>.' . $domain . '/<controller:\w+>/<action:\w+>' => '<controller>/<action>',
'http://'$域'/'=>'/',
当我像这样打电话给控制器/动作时,一切正常。当我调用控制器(没有显式索引)以调用actionIndex时,我无法捕获医务人员姓名参数。但是当我调用controller/index(明确指定的索引)时,它工作正常

我需要在路由器中返工什么?

两件事:

不带
索引的呼叫规则
如果未提供索引,则需要第二条规则,该规则的索引为静态值。在第一条规则之后添加此,如下所示:

'http://<caregiverName:[\w-.]+>.' . $domain . '/<controller:\w+>/<action:\w+>' => '<controller>/<action>',
'http://<caregiverName:[\w-.]+>.' . $domain . '/<controller:\w+>' => '<controller>/index',
'http://'$域名.'//

看看我上面的例子,我是如何指定字符类的。当然,你也可以验证长度等,但这不是这个答案的范围…你应该得到要点

如果您需要更多信息,请告诉我