我理解我可以提供的许多变量可能是问题,但我仍然在问是否有人遇到这个问题并且可以提供帮助。
这是我在组件中的UrlManager配置
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => false,
'showScriptName' => true,
'rules' => [
'' => 'site/index',
'member' => 'site/login',
],
],
此网址有效:
http://exampler.com/web/index.php?r=site/login
此网址返回404
http://example.com/web/index.php?r=member
**注意:**我的服务器上没有像this guy那样凌乱的Nginx或Apache规则。无论我在其中写什么,我的规则似乎都被完全忽略了。
答案 0 :(得分:1)
$rules
设置为$enablePrettyUrl
,则会忽略 false
。来自$rules
文档:
$enablePrettyUrl
为true
时创建和解析网址的规则。仅当$enablePrettyUrl
为true
时才使用此属性。
https://www.yiiframework.com/doc/api/2.0/yii-web-urlmanager#$rules-detail