Yii2 如何在没有控制器名称的情况下重写 url

Yii2 how to rewrite url without controller name

我正在重写我的 yii2 网站 urls.In 我添加的配置文件

'<category_name>-<controller>-<category_id>'=>'<controller>/index'

在 url 中我只是传递了

这样的参数
<?=Url::to(['shop/index','category_id'=>1,'category_name'=>'clothes'])?>

而我的 url 就像

https://example.com/clothes-shop-1

这就是我得到的。但我需要像

这样的东西
https://example.com/clothes-1

为此,我只是像这样更改了规则

'<category_name>-<category_id>'=>'<controller>/index'

但是那个时候重写没有 working.How 我可以从那个 url

中删除控制器名称吗

系统如何知道需要什么控制器才能继续URL?在第一个例子中

'<category_name>-<controller>-<category_id>'=>'<controller>/index'

有一个控制器名称。第二个

'<category_name>-<category_id>'=>'<controller>/index'

没有控制器名称。 所以你需要告诉它。尝试

'<category_name>-<category_id>'=>'shop/index'