2015-09-10 15:01:17 5626次浏览 5条回答 0 悬赏 40 金钱
if ($model->load(Yii::$app->request->post()) && $model->login()) {
    return $this->redirect(['panel/home/index']);
}

代码如上很简单,就是登录验证通过就redirect到http://host/panel/home/index,但是在本地和测试服务器上正常跳转了,在正式服务器上却会产生了网页刷新的动作却没有跳转到http://host/panel/home/index,我在return $this->redirect(['panel/home/index']);前加上echo"success";die();后成功输出了success,说明的确是运行到了redirect这里的,但是为什么会正式服务器上无法跳转?

最佳答案

  • koko 发布于 2015-09-10 15:37 举报

    两个环境服务器配置不一样。

    2 条回复
    回复于 2015-09-10 17:30 回复

    环境?能说具体一点吗?

    回复于 2015-09-11 12:07 回复

    问题已解决,是设定cookies的时候设置的过期时间为0导致controller中action无法被访问,谢谢大家的解答

  • 回答于 2015-09-10 16:57 举报

    试试
    header("Location:$url");exit;

  • 回答于 2015-09-10 17:04 举报

    试试
    return $this->redirect('panel/home/index');

    4 条回复
    回复于 2015-09-10 17:31 回复

    url我输出了,没问题

    回复于 2015-09-10 17:50 回复

    http://host/panel/home/index 能正常访问?

    回复于 2015-09-10 17:54 回复

    host是是指代域名啊

    回复于 2015-09-11 00:25 回复

    问你服务器上的地址能不能正常访问....

  • 回答于 2015-09-10 18:25 举报

    试试 return $this->redirect(['/panel/home/index']);
    多了一个斜杠。

    1 条回复
    回复于 2015-09-10 21:32 回复

    这个不是的,我跳到它的redirect定义里面输出了他的$url是正确的,

  • 回答于 2015-09-10 22:37 举报

    打开浏览器,切换到调试中的“network"看看 response中的header中是否有重定向302的状态码

您需要登录后才可以回答。登录 | 立即注册
心雨
主管

心雨

注册时间:2015-07-23
最后登录:2020-03-31
在线时长:20小时35分
  • 粉丝5
  • 金钱175
  • 威望20
  • 积分575

热门问题