【发布时间】:2012-02-16 17:01:50
【问题描述】:
当我打电话时:
$this->_redirect($url, array('code'=>301));
我被重定向了,但 http 代码是 302 而不是 301。知道为什么吗?
【问题讨论】:
-
我刚刚对此进行了测试,它对我来说效果很好(ZF 1.11)。你用的是什么版本?
标签: zend-framework redirect http-status-code-301
当我打电话时:
$this->_redirect($url, array('code'=>301));
我被重定向了,但 http 代码是 302 而不是 301。知道为什么吗?
【问题讨论】:
标签: zend-framework redirect http-status-code-301
_redirect($url, array $options = array()):重定向到另一个位置。此方法接受一个 URL 和一组可选的选项。经过 默认情况下,它执行 HTTP 302 重定向。
尝试使用以下方法将重定向代码设置为 301:
$this->_helpers->redirector->setCode(301);
【讨论】:
使用 _redirect 方法似乎总是会将代码设置为 302。如果您想手动更改响应代码,请改用 redirector。
【讨论】:
在 Zend/Controller/Action/Helper/Redirector.php: _redirect 调用 $this->getCode(); getCode() 是 $this->_code 的简单 getter; _code 初始化为 302。
【讨论】: