如何更改yii2 url中的change/to-以执行特定操作

如何更改yii2 url中的change/to-以执行特定操作,yii2,yii-url-manager,Yii2,Yii Url Manager,我正在将wordpress网站改写为yii2。 由于某些原因,我不得不保留以前的帖子URL! 他们就是这样的人 https://example.com/blog-thenameofpost 所以我创建了一个博客控制器,我用这种方式创建了这个链接 https://example.com/blog/view?id=thenameofpost 我不知道如何编写urlManager规则来实现这一点。 我只是添加了这些规则 '<controller:\w+>/<id:\d+&

我正在将wordpress网站改写为yii2。 由于某些原因,我不得不保留以前的帖子URL! 他们就是这样的人

https://example.com/blog-thenameofpost
所以我创建了一个博客控制器,我用这种方式创建了这个链接

https://example.com/blog/view?id=thenameofpost
我不知道如何编写urlManager规则来实现这一点。 我只是添加了这些规则

    '<controller:\w+>/<id:\d+>' => '<controller>/view',
    '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
    '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
'/'=>'/view',
'//' => '/',
'/' => '/',
现在这个链接
https://example.com/blog/view?id=thenameofpost
以类似的方式打开:
https://example.com/blog/thenameofpost


有没有什么规则可以打开类似it的链接
https://example.com/blog/thenameofpost

如果要为
https://example.com/blog-thenameofpost
您可以添加以下规则

'blog-<id>' => 'blog/view',
其他信息:
在参数部分(左侧),您可以添加其他信息以匹配参数。因此
将只匹配数字,因为de
\d+
部分。有关更多信息,请阅读文档:$rules detail

是否要从URL中删除“blog/”部分?是,仅用于操作或控制器。删除它可能有助于我猜测您应该使用数据库中的参数而不是id,然后在actionView中从url字段加载模型。
'blog/<id>' => 'blog/view'