[英]Yii2 urlmanager rules for pretty urls fails
我有以下网址管理器路径
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'<controller:(\w|-)+>/' => 'site/index',
'<module:api\w+>/<controller:\w+>/<action:(\w|-)+>' => '<module>/<controller>/<action>',
],
]
寻找的是不是通过api模块路径呈现的所有url都通过站点/索引运行,而是所有具有api / *的其他路径都通过模块路径执行。
以上适用于/ login,/ auth之类的网址,但是当我运行诸如
/administrative/uom
它失败
所以基本上我希望所有网址都通过site/index
重新定向,但所有以api作为前缀的api/auth/login
如api/auth/login
都可以通过各自的控制器运行。 我添加了一个应该处理此问题的api模块。
我还需要添加什么才能使它正常工作?
当添加规则时,总是从更详细开始到不太详细。 并且您仅为控制器添加了通用规则,因此没有与操作匹配的URL。 做这个
'rules' => [
'api/<controller:\w+>/<action:[\w\-]+>' => 'api/<controller>/<action>',
'<controller:[\w\-]+>/<action:[\w\-]+>' => 'site/index',
'<controller:[\w\-]+>/' => 'site/index',
],
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.