Question

I have this url

http://example.com/index.php/controller_name/action_name?queryString=123

This url is working fine but when I am trying to use the queryString like in the old version of Yii

http://example.com/index.php/controller_name/action_name/queryString/123

I get an "unable to solve request" error.

I 've already enable prettyurl in my config file and the following url is working

 http://example.com/index.php/controller_name/action_name.

My config looks like :

'urlManager' => [
        'class' => 'yii\web\UrlManager',
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'rules' => [
            '<controller:\w+>/<id:\d+>' => '<controller>/view',
            '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
            '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
            'module/<module:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>',
        ],
    ],

What am I missing?

Was it helpful?

Solution

Unfortunately this feature didn't migrate to Yii2, you can still define such rules manually

'books/view/queryString/<queryString:\w+>' => 'books/view',

Link on github with this issue

Because of many client API and Oauth servers don't work without encode

Sam Dark answer

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top