如何访问Yii2中定义的URL



我有控制器UserController和动作actionAjax。我通过Chrome访问以下URL,它正常工作。

index.php?r=user/ajax

现在我定义了新的动作命名为actionAjaxUser,仍然使用Chrome访问URL index.php?user/ajaxUser

然后404返回。如何获取actionAjaxUser的内容?

在"action"后面每增加一个大写字母加一个"-",所以

index.php?r=user/ajax-user

如果你有一个类似actionTest1Test2Test3的动作,url将是controllername/test1-test2-test3

请注意,如果你使用访问规则,你也必须使用"url"路径。

return [
        'access' => [
            'class' => AccessControl::className(),
            'rules' => [
                [
                    'actions' => ['test1-test2-test3'],
                    'allow' => true,
                    'roles' => ['@'],
                ],
            ],
        ],
    ];

相同的命名方案是btw。也用于控制器。例如,如果你的控制器命名为Test1Test2Controller,则视图文件夹名称将为test1-test2

最新更新