index.php YII中的ERR_TOO_MANY_REDIRECTS

时间:2013-07-19 07:51:17

标签: php yii

我必须关闭对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 形式。希望你能理解我)

3 个答案:

答案 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'], 
],