Yii UrlManager路由到自己的控制器而不是模块

时间:2012-06-25 11:03:16

标签: php yii

我刚刚开始使用Yii框架,尝试创建一个简单的应用程序。我添加了yii-user-management模块(YUM)并遵循了简短的installation tutorial

按照教程,我创建了一个扩展YumRegistrationController的RegistrationController - 然后尝试在浏览器中加载它。但是,无论我如何更改UrlManager的配置,我都无法加载自己的控制器或视图(视图已按照指示复制到protected / views / registration.registration.php)。

我不是唯一一个有同样问题的人 - 例如here - 但我无法让任何解决方案有效。甚至没有重命名控制器也有效,所以我认为我的UrlManager设置存在根本性的错误。

'urlManager'=>array(
        'urlFormat'=>'path',
        'showScriptName'=>false,
        'caseSensitive'=>false,   
        'rules'=>array(
            '<controller:\w+>/<id:\d+>'=>'<controller>/view',
            '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
            '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
        ),
    ),

每次都会加载YumRegistrationController,否则我会收到404错误。

我尝试了其他规则,例如:

'registration' => 'application.controllers.Registration',

或(重命名后)

'registration' => '//MyRegistration/registration',

甚至

'registration' => '//registration/registration/registration',
像我读过的一篇文章一样,但没有任何效果。

请帮忙 - 我真的很想继续创建一个应用程序,而不仅仅是设置...

更新:/注册/注册/注册有效,它只显示默认视图并加载控制器以进行YUM注册...

Yii版本1.1.10

1 个答案:

答案 0 :(得分:1)

我认为,您在config main.php中注册了用户组件。所以请分享一下。我可以帮忙。

。 'loginUrl'=&gt; array('/ user / user / login'),可能会导致问题。无需更改urlManager。

         'user'=>array(
        'class'=>'application.components.WebUser',
          'allowAutoLogin'=>true,
          'loginUrl' => array('/user/login'),
          ),