我必须关闭对index.php主页的访问,我用以下代码修改了siteController.php:
public function accessRules() {
return array(
// allow all users to perform 'index' and 'view' actions *
array('allow',
'actions' => array('index','view'),
'users' => array('admin'),
),
// allow authenticated user to perform 'create' and 'update' actions @
array('allow',
'actions' => array('create','update'),
'users' => array('admin'),
),
// allow admin user to perform 'admin' and 'delete' actions
array('allow',
'actions' => array('admin','delete'),
'users' => array('admin'),
),
// deny all users
array('deny',
'users' => array('*'),
),
);
}
因为我必须只为admin提供访问权限。在这个操作之后,我看到重定向正在工作,并且url变为 index.php / site / login ,但是我得到ERR_TOO_MANY_REDIRECTS
而不是 login / pass 形式。希望你能理解我)
答案 0 :(得分:1)
我有同样的问题,解决方案是添加"错误"对规则的操作,允许所有用户访问它。 我之所以这样做是因为在进行更新之后会产生错误,并且无法访问错误操作。
答案 1 :(得分:1)
我在from six import iteritems
def findKey_printValue(key, document,c=0):
if isinstance(document, dict):
for k, v in iteritems(document):
if k == key:
yield (v,c)
elif isinstance(v, dict):
for result in findKey_printValue(key, v, c + 1):
yield result
中遇到urlManager
同样的问题和问题。
我的urlManager配置是这样的:
config/main.php
,一定是
'urlManager' => [
'baseUrl' => $baseUrl,
'class' => 'yii\web\UrlManager',
// Disable index.php
'showScriptName' => false,
// Disable r= routes
'enablePrettyUrl' => true,
'rules' => [
'<controller:\w+>/<id:\w+>' => '<controller>',
'<controller:\w+>/<action:\w+>/<id:\w+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
]
]
与RegEx的关系。这是doc
答案 2 :(得分:0)
添加login
操作以访问规则:
['allow',
'actions'=>['index','view','login'],
'users'=>['admin'],
],