我的应用程序混合了简单的PHP网页和zend应用程序。有时我需要从zend应用程序的Action中重定向到简单的PHP网页。
例如:
我想从example.com/module/controller/action
重定向到example.com/simplephp.php
。
我尝试了header("Location: example.com/simplephp.php");
,但它无效。
由于
答案 0 :(得分:9)
是的,基本的重定向操作助手允许您重定向到任何URL。
class MyController extends Zend_Controller_Action {
public function indexAction() {
$this->_redirect('/path/to/any/page.php');
// or
$this->_redirect('http://example.com/anypage.php');
}
}
答案 1 :(得分:3)
HTTP / 1.1需要绝对URI作为参数。请求应包含http://
或https://
答案 2 :(得分:1)
您应该操纵发送HTTP标头的request
对象。
如果你想这样做:
header("Location: example.com/simplephp.php");
你需要:
$request->setHeader('Location', 'example.com/simplephp.php', true);
然后你需要关闭布局,查看渲染和任何其他不需要的东西等。
Redirector action helper是处理重定向而不必过多担心细节的简单方法。您甚至可以在控制器外部使用它来从Helper Broker中检索它的静态实例。
请注意,即使缩短的URL几乎适用于所有浏览器,您也应始终指定HTTP 1.1中指定的位置(包括协议和域名)的完整URL。