如何从zend应用程序重定向到非zend链接

时间:2010-11-12 06:08:07

标签: php zend-framework redirect forward

我的应用程序混合了简单的PHP网页和zend应用程序。有时我需要从zend应用程序的Action中重定向到简单的PHP网页。

例如:

我想从example.com/module/controller/action重定向到example.com/simplephp.php

我尝试了header("Location: example.com/simplephp.php");,但它无效。

由于

3 个答案:

答案 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。