urlManager не может найти сайт / индекс в Yii2 - PullRequest
0 голосов
/ 21 сентября 2018

Я просто создаю схему базового приложения в Yii 2.

Я пытаюсь протестировать RESTFull api.

Сайт работает по умолчанию, но при изменении urlManager

'urlManager' => [
    'enablePrettyUrl' => true,
    'enableStrictParsing' => true,
    'showScriptName' => false,

    'rules' => [
            ['class' => 'yii\rest\UrlRule', 'controller' => 'cliente'],
    ],

],

Я получаю только ошибку 404.

Я потерял сайт / индекс !!!

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 22 сентября 2018

site/index действие больше не работает из-за этой настройки: 'enableStrictParsing' => true.Из $enableStrictParsing документации :

Если включен строгий синтаксический анализ, входящий запрошенный URL-адрес должен соответствовать хотя бы одному из $rules, чтобы его можно было считать действительным запросом,В противном случае часть информации о пути запроса будет обрабатываться как запрошенный маршрут.

Поэтому, если вы включите этот параметр, вам нужно иметь соответствующее правило URL для поддержки данного URL.В вашем случае у вас есть только одно правило для конечной точки REST, поэтому любой другой URL не будет работать.Вы должны либо отключить этот параметр, либо добавить правило для своей главной страницы:

'rules' => [
    '' => 'site/index',
    ['class' => 'yii\rest\UrlRule', 'controller' => 'cliente'],
],
0 голосов
/ 21 сентября 2018

Вот этот параметр: 'enableStrictParsing' => true,

Смотрите здесь:

https://github.com/yiisoft/yii2/blob/master/framework/web/UrlManager.php#L323

Нет явных правил URL для определенного siteController.

Подробнее здесь:

https://www.yiiframework.com/doc/guide/2.0/en/runtime-routing#url-rules

...