Yii2 Url 映射后缀

Yii2 Url Mapping Suffix

我在 Yii2 中有一些类似的 Url 映射:

'urlManager'    => [
'enablePrettyUrl'       => true,
'showScriptName'        => false,
'rules'                 => [
 ['pattern'=>'pages','route'=>'pages/index',            'suffix'=>'/'],
 ['pattern'=>'pages/<id:\d+>','route'=>'pages/single',  'suffix'=>'.html'],
]]

因此,网址:

domain.com/pages/ - works fine
domain.com/pages  - E404

domain.com/pages/321.html - works fine
domain.com/pages/321      - E404

如果我从配置数组中删除后缀参数,则:

domain.com/pages/ - E404
domain.com/pages  - works fine

domain.com/pages/321.html - E404
domain.com/pages/321      - works fine

是否可以将 'suffix' 变为 link 可选,例如'pages'和'pages/'会跟着一个方向吗? 谢谢

似乎无法通过 url 管理器中的规则配置来实现此目的。

请在 Github 上查看这些相关问题:

https://github.com/yiisoft/yii2/issues/1807

https://github.com/yiisoft/yii2/issues/6498

所以选择一个更适合你的选项并使用它。

需要尾部斜杠或 .html - 添加 suffix,否则保持原样。

也适用于搜索引擎

domain.com/pages/
domain.com/pages

这是两个不同的页面,使用它们会导致内容重复。