我只是在Yii 2中创建了一个Basic App模式。
我尝试测试RESTFull API。
默认情况下,该网站正在运行,但是当我更改urlManager时
'urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
['class' => 'yii\rest\UrlRule', 'controller' => 'cliente'],
],
],
我只会收到404错误。
我丢失了网站/索引!!!
有什么主意吗?
答案 0 :(得分:0)
是此设置:
'enableStrictParsing' => true,
看这里:
https://github.com/yiisoft/yii2/blob/master/framework/web/UrlManager.php#L323
对于定义的siteController没有明确的url规则。
在此处了解更多信息
https://www.yiiframework.com/doc/guide/2.0/en/runtime-routing#url-rules
答案 1 :(得分:0)
site/index
操作由于以下设置而不再起作用:'enableStrictParsing' => true
。来自$enableStrictParsing
documentation:
如果启用了严格解析,则传入的请求URL必须至少与
$rules
中的一个匹配,才能被视为有效请求。否则,请求的路径信息部分将被视为请求的路由。
因此,如果启用此设置,则需要具有匹配的URL规则以支持给定的URL。在您的情况下,您只有一个REST端点规则,因此任何其他URL均不起作用。您应该禁用此设置或为主页添加规则:
'rules' => [
'' => 'site/index',
['class' => 'yii\rest\UrlRule', 'controller' => 'cliente'],
],