Yii2:如何使用 "pretty url" 在 url 中调用操作
Yii2: how to call action in url with use "pretty url"
没有漂亮的 url 路由有视图 http://192.168.100.5/index.php?r=tweet/statistic&from=20160320&to=20160325
并且运行良好。
正如文档所说,当 'enablePrettyUrl' => true
/tweet
调用默认操作时 - 它也运行良好
但对于其他操作,路线应该是 /tweet/statistic
。但是出现404错误。
在这种情况下如何调用 app\controllers\TweetController actionStatistic()?
添加:我使用基本模板
'urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
['class' => 'yii\rest\UrlRule',
'controller' => 'tweet'],
'GET tweet/statistic' => 'tweet/statistic'
],
],
当我尝试 http://192.168.100.5/tweet/statistic
的 curl 请求时
HTTP/1.1 404 未找到
如果 'enablePrettyUrl' => false
和 http://192.168.100.5/index.php?r=tweet/statistic"
效果很好
请注意这是休息 API,因为这会改变很多事情。关键是您必须声明规则,以便 Yii2 现在知道如何处理它们。您必须告诉它这将是什么类型的请求以及请求将发送到哪里。这与普通应用程序相比有很大不同,因为这是休息 API.
我的工作配置:
'urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
[
'class' => 'yii\rest\UrlRule',
'controller' => [
'v1/client',
..........................
]
],
'GET v1/clients/info' => 'v1/client/info',
'POST v1/settings/suburb' => 'v1/setting/suburb',
],
],
没有漂亮的 url 路由有视图 http://192.168.100.5/index.php?r=tweet/statistic&from=20160320&to=20160325
并且运行良好。
正如文档所说,当 'enablePrettyUrl' => true
/tweet
调用默认操作时 - 它也运行良好
但对于其他操作,路线应该是 /tweet/statistic
。但是出现404错误。
在这种情况下如何调用 app\controllers\TweetController actionStatistic()?
添加:我使用基本模板
'urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
['class' => 'yii\rest\UrlRule',
'controller' => 'tweet'],
'GET tweet/statistic' => 'tweet/statistic'
],
],
当我尝试 http://192.168.100.5/tweet/statistic
HTTP/1.1 404 未找到
如果 'enablePrettyUrl' => false
和 http://192.168.100.5/index.php?r=tweet/statistic"
效果很好
请注意这是休息 API,因为这会改变很多事情。关键是您必须声明规则,以便 Yii2 现在知道如何处理它们。您必须告诉它这将是什么类型的请求以及请求将发送到哪里。这与普通应用程序相比有很大不同,因为这是休息 API.
我的工作配置:
'urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
[
'class' => 'yii\rest\UrlRule',
'controller' => [
'v1/client',
..........................
]
],
'GET v1/clients/info' => 'v1/client/info',
'POST v1/settings/suburb' => 'v1/setting/suburb',
],
],