Search code examples
yii2url-routingclean-urlsyii-url-manager

Yii2 url config not working


I'm using yii2 and i want url to be this way: example: backend.dev/ads/browse/city/london

My code is this(backend/config/main.php):

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

And my link is:

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

But the output is this: backend.dev/ads/browse?city=london I want ? to disappear, help me please.


Solution

  • Thanks to @Bizely I have to make these changes:

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

    change to:

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

    My carelessness!