首页 > 解决方案 > urlManager 在 Yii2 中找不到站点/索引

问题描述

我只是在 Yii 2 中创建了一个 Basic App 模式。

我尝试测试 RESTFull api。

默认情况下,该站点正在运行,但是当我更改 urlManager

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

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

],

我只收到 404 错误。

我丢失了网站/索引!!!

任何想法?

标签: restyii2yii2-basic-app

解决方案


site/index由于此设置,操作不再起作用:'enableStrictParsing' => true。从$enableStrictParsing文档

如果启用了严格解析,则传入的请求 URL 必须至少匹配其中之一$rules才能被视为有效请求。否则,请求的路径信息部分将被视为请求的路由。

所以如果你启用这个设置,你需要有匹配的 URL 规则来支持给定的 URL。在您的情况下,您只有一个 REST 端点规则,因此任何其他 URL 都不起作用。您应该禁用此设置或为您的主页添加规则:

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

推荐阅读