【问题标题】:How to access module controller action如何访问模块控制器操作
【发布时间】:2013-10-09 12:19:55
【问题描述】:

我使用 Gii 创建了一个模块(education)。该模块有一个控制器(article),其中包含三个操作(index、read、write)。

我访问模块是这样的:

http://example.com/index.php/education/article/index (工作正常)

http://example.com/index.php/education/article/read(重定向到 索引操作)

http://example.com/index.php/education/article/write (重定向到 索引操作)

所以问题是我只能访问 article 控制器中的 index 操作。当我尝试访问任何其他操作时,它总是重定向到 index 操作。

我在 config/main 中有以下条目:

'modules'=>array(
        // uncomment the following to enable the Gii tool

        'gii'=>array(
            'class'=>'system.gii.GiiModule',
            'password'=>'password',
            'ipFilters'=>array('127.0.0.1','::1'),
        ),
        'education'

    ),

知道是什么问题吗?

【问题讨论】:

  • 请查看文章的访问规则
  • 在文章控制器中没有实现访问规则。
  • 向我们展示您的代码:读取或写入操作,以及 url 配置

标签: php url yii module url-redirection


【解决方案1】:

访问过滤器可能有问题。您正在尝试打开某些操作,但您没有权限并且控制器会将您重定向到 default 操作

【讨论】:

    【解决方案2】:

    这个话题对我很有帮助。在我发现这个话题之前。我有同样的错误。它总是重定向到索引操作。特别是,当我创建基于模块的登录时会发生这种情况,我对此一无所知。在我阅读 Pavel 提示后,我再次检查 main.php,发现我测试了一个 rules 并忘记删除它。 这是 urlManager 规则中的一行。

    '<controller:\w+>/<action:\w+>/*'=>'<controller>/<action>',
    

    【讨论】:

      猜你喜欢
      • 2017-10-24
      • 1970-01-01
      • 2015-06-13
      • 1970-01-01
      • 2011-07-11
      • 1970-01-01
      • 2023-03-14
      • 2020-02-16
      相关资源
      最近更新 更多