【问题标题】:Using RegEx within Yii 2's UrlManager rules, doesn't work在 Yii 2 的 UrlManager 规则中使用 RegEx 不起作用
【发布时间】:2018-01-31 06:49:39
【问题描述】:

Yii2 urlManager,我想写一个如下所示的正则表达式。

*.*com/bj/haidian/ 不错。

*.*com/bj/haidian 不起作用。

'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'rules' => [
            '<module:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>',
            "<controller:\w+>/<action:\w+>/<id:\d+>" => "<controller>/<action>",
            "<controller:\w+>/<action:\w+>" => "<controller>/<action>",
            '<module:\w+>/<action:\w+>/<id:\d+>' => '<module>/default/<action>',
            '<module:\w+>/<controller:\w+>' => '<module>/<controller>/index',
            'bj|sh|gz|sz|cd|xa|wh|hz|tj|dl/?'=>'/sem/weight',
            'bj|sh|gz|sz|cd|xa|wh|hz|tj|dl/<district:[0-9a-zA-Z\_\-]+>/?' => '/sem/weight',
            'bj|sh|gz|sz|cd|xa|wh|hz|tj|dl/<district:[0-9a-zA-Z\_]+>/<cond:[0-9a-zA-Z\_]+>/?' => '/sem/weight',
        ],
    ],

【问题讨论】:

  • 我可以看看你的 htaccess 吗?

标签: php yii yii2 yii2-urlmanager


【解决方案1】:

您的规则应该在 default 规则或 parameterized 路由之前而不是在它们之后,否则您的规则在我这边工作正常我刚刚测试了所有 3 个,只需将顺序更改为以下。

'urlManager' => [
        'class' => 'yii\web\UrlManager',
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'rules' => [
            'bj|sh|gz|sz|cd|xa|wh|hz|tj|dl/?'=>'/sem/weight',
            'bj|sh|gz|sz|cd|xa|wh|hz|tj|dl/<district:[0-9a-zA-Z\_\-]+>/?' => '/sem/weight',
            'bj|sh|gz|sz|cd|xa|wh|hz|tj|dl/<district:[0-9a-zA-Z\_]+>/<cond:[0-9a-zA-Z\_]+>/?' => '/sem/weight',
            '<module:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>',
            "<controller:\w+>/<action:\w+>/<id:\d+>" => "<controller>/<action>",
            "<controller:\w+>/<action:\w+>" => "<controller>/<action>",
            '<module:\w+>/<action:\w+>/<id:\d+>' => '<module>/default/<action>',
            '<module:\w+>/<controller:\w+>' => '<module>/<controller>/index',

        ],
    ],

【讨论】:

    猜你喜欢
    • 2014-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    相关资源
    最近更新 更多