当我重定向到Yii中的控制器时,strpos()期望参数1为字符串

当我重定向到Yii中的控制器时,strpos()期望参数1为字符串,yii,Yii,我尝试重定向到Yii中的控制器时出错 strpos() expects parameter 1 to be string, array given if(!$error) { \Yii::app()->request->redirect(array('site/nch1')); }else{ \Yii::app()->request->redirect(array('document/result')); } 更新:我希望将页面重定向到控制器/操作。您需要

我尝试重定向到Yii中的控制器时出错

strpos() expects parameter 1 to be string, array given

if(!$error)
{
   \Yii::app()->request->redirect(array('site/nch1'));
}else{
   \Yii::app()->request->redirect(array('document/result'));
}

更新:我希望将页面重定向到控制器/操作。

您需要传递字符串,而不是数组,请尝试以下操作:

if(!$error)
{
   \Yii::app()->request->redirect('site/nch1');
}else{
   \Yii::app()->request->redirect('document/result');
}

有两种重定向方法。上面的答案把他们搞混了

Yii::app()->request->redirect('/actual/url/path.html');

HttpRequest方法路径。它需要是一个存在的url

cControl方法并生成url本身


根据上下文的不同,有时可以使用
$this->redirect($route)调用CController重定向方法例如,在控制器或视图文件中。

我希望将页面重定向到控制器/操作。您的解决方案已重定向到当前操作。但是thanks@ArthurYakovlev请参阅:-如果同时传递GET参数,则它只需要是一个数组。控制器是站点,操作是nch1。。。或者控制器是文档,操作是结果。我需要重定向到绝对路由模块\Yii::app()->请求->重定向('/site/nch1');请编辑您的答案,谢谢!
Yii::app()->controller->redirect(['controller/action']);
$this->redirect(['controller/action']);