Yii生成错误“无法解析请求<controller action =”“>”</controller>

时间:2012-04-11 06:36:00

标签: yii

成功登录后,Yii不执行任何页面。

显示错误:

  

错误404无法解析请求“membersdet / index”

此处membersdet是控制器ID,index是操作。

7 个答案:

答案 0 :(得分:20)

确保控制器的文件名是完全“MembersdetController.php”。 区分大小写。

我猜你是在Windows操作系统下在本地机器上开发,而服务器在* nix系统上运行。对于新手开发人员来说这是正常的问题,他们忘记了* nix中的区分大小写的文件系统。

答案 1 :(得分:3)

这是因为给出了错误的控制器文件名,或者actionIndex()方法不在您的控制器中。

答案 2 :(得分:1)

我遇到了类似的问题并得到了解决。在这种情况下,文件被正确命名,但类名错误地拼写。如果这两个不对应,您也可能会收到此错误。

答案 3 :(得分:0)

问题中没有足够的信息,但是你可能有不正确的.htaccess,或者你根本没有htaccess,你应该使用网址:

http://host/index.php?r=membersdet/index

答案 4 :(得分:0)

确保在/ protected / controllers /中有MembersdetController,并且此类“是一个”CController,并且有一个名为actionIndex()的公共方法。

答案 5 :(得分:0)

检查配置文件中的errorHandler块。 我已经像这样修复了这个错误

'errorHandler' => [
    'errorAction' => 'error/index',
],

顺便说一下,你的模块和/error/index.php中应该有适当的ErrorController  视图文件夹中的文件。 希望能帮到你。

答案 6 :(得分:0)

检查区分大小写的确切控制器:MembersdetController

检查别名(在config / main.php中是常见的)映射与控制器中的命名空间

Yii::setAlias('@tienn2t', dirname(dirname(__DIR__)) . '/tienn2t');

在MembersdetController.php文件中

<?php
namespace tienn2t\controllers;

use Yii;
use yii\web\Controller;

class MembersdetController extends Controller{
    public function actionIndex(){
        echo 1;die;
    }
}
相关问题