【问题标题】:Yii2 URL rules is not workingYii2 URL 规则不起作用
【发布时间】:2017-01-18 21:13:21
【问题描述】:

我的 web.php 中有以下配置

    'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'enableStrictParsing' => false,
        'rules' => [
            'r/<url:\d+>' => 'r/index',
            [
                'pattern' => '<action>', 
                'route' => 'controller/<action>'
            ]
        ]            
    ]

当我输入http://www.example.com/r/BRb2T5wCCz 时,它会显示 404。但是,它应该会显示 r/index 页面。我在做什么?

【问题讨论】:

  • \d+ 仅表示数字,您也有字母。
  • 好的,那应该是\s+?
  • 没关系。看来应该是 \w+

标签: php yii2


【解决方案1】:

正如Bizley 评论的那样:

[转义序列]\d+ 仅表示数字,并且您也有字母。

如果不需要,则不应使用转义序列:

r/<url> => 'r/index',

只有当你的参数只包含字母、数字或下划线时,你才应该使用\w+

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 1970-01-01
    • 2017-04-17
    相关资源
    最近更新 更多