Yii2 url配置不起作用

时间:2017-08-23 13:41:35

标签: yii2 url-routing clean-urls yii-url-manager

我正在使用yii2,我希望网址是这样的: 例如:backend.dev/ads/browse/city/london

我的代码是这样的(backend / config / main.php):

'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'rules' => [
            '<controller:\w+>/<city:\d+>' => '<controller>/view',
            '<controller:\w+>/<action:\w+>/<city:\d+>' => 
                               '<controller>/<action>'
        ],
    ],

我的链接是:

echo Html::a('<h4>'.$cities[$i].'</h4>', ['/ads/browse', 
             'city'=>$cities[$i]], ['class'=>'btn buttonCity']);

但输出是这样的:backend.dev/ads/browse?city=london 我想要 ?消失,请帮帮我。

2 个答案:

答案 0 :(得分:1)

\d+表示它预计会有数字,但您提供了london

更改

'<controller:\w+>/<action:\w+>/<city:\d+>' => '<controller>/<action>'

'<controller:\w+>/<action:\w+>/<city:\w+>' => '<controller>/<action>'

答案 1 :(得分:0)

感谢 @Bizely 我必须做出这些改变:

'<controller:\w+>/<action:\w+>/<city:\d+>' => '<controller>/<action>'

更改为:

'<controller:\w+>/<action:\w+>/<city:\w+>' => '<controller>/<action>'

我的粗心!