Yii2重定向到上一页

Yii2重定向到上一页,yii2,Yii2,现在,我的应用程序正在使用gridview列出所有信息,它还具有分页功能。当用户单击分页编号,然后单击编辑,然后单击保存。它将用户重定向到查看页面。我想做的是将用户重定向到上一页(带有页码的url)。您可以使用Yii::$app->request->referer返回用户所在的最后一页 用法很简单: return $this->redirect(Yii::$app->request->referrer); 您还需要考虑到referer可以null: return $this-

现在,我的应用程序正在使用gridview列出所有信息,它还具有分页功能。当用户单击分页编号,然后单击编辑,然后单击保存。它将用户重定向到查看页面。我想做的是将用户重定向到上一页(带有页码的url)。

您可以使用
Yii::$app->request->referer
返回用户所在的最后一页

用法很简单:

return $this->redirect(Yii::$app->request->referrer);
您还需要考虑到
referer
可以
null

return $this->redirect(Yii::$app->request->referrer ?: Yii::$app->homeUrl);
请参阅。

它说,检查
referer
是否设置在第一位是一种很好的做法。 因此,如果您使用以下代码,如果设置了referer,您将被重定向到最后一页;如果之前未设置返回URL,则将被重定向到您配置的
homeUrl

return $this->goBack((!empty(Yii::$app->request->referrer) ? Yii::$app->request->referrer : null));


@Kostas说的没错,但我认为如果您只需编写以下代码就更好了,因为goBack已经考虑了goBack HOME中的null参数

return $this->goBack(Yii::$app->request->referrer);

我对它进行了测试,效果很好。

第二个示例可以缩短为
返回$this->redirect(Yii::$app->request->referer?:Yii::$app->homeUrl)但当我们从一个客人无法访问的URL访问时,无法获取推荐人URL。我认为它可以通过返回URL获得,但我如何管理推荐URL和返回URL呢。