如何修改Yii2中的URL

时间:2018-04-11 22:07:16

标签: yii yii2 friendly-url

我有这个网址:

  

博客/ 74 /标题新闻

但我想要没有ID的网址:

  

博客/标题新闻

我的规则如下:

'rules' => [
    'blog/<id>/<title>' => 'blog/details/',
],

有可能吗?

1 个答案:

答案 0 :(得分:0)

如果您只需要一个新闻的网址,则可以通过UrlManager::$rules config解决此问题:

'rules' => [
    [
        'pattern' => 'blog/<id:\d+>/title-news',
        'route' => 'blog/details',
        'defaults' => ['id' => 74, 'title' => 'title-news'],
    ],
    // ...other rules...
]

这将更改ID为74的新闻的网址。

如果您需要对所有网址执行此操作,首先您需要确保在网址中使用的所有title都是唯一的。然后配置规则:

'rules' => [
    'blog/<title>' => 'blog/details',
]

在为新闻创建网址时删除id参数 - 它应如下所示:

Url::to(['blog/details', 'title' => $model->title]);