我的应用程序是简单的 PHP 网页和 zend 应用程序的混合体。有时我需要从 zend 应用程序的 Action 重定向到简单的 PHP 网页。
例如:
我想从 重定向example.com/module/controller/action
到example.com/simplephp.php
。
我试过header("Location: example.com/simplephp.php");
了,但它不工作。
谢谢
我的应用程序是简单的 PHP 网页和 zend 应用程序的混合体。有时我需要从 zend 应用程序的 Action 重定向到简单的 PHP 网页。
例如:
我想从 重定向example.com/module/controller/action
到example.com/simplephp.php
。
我试过header("Location: example.com/simplephp.php");
了,但它不工作。
谢谢
是的,基本的重定向操作助手允许您重定向到任何 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');
}
}
HTTP/1.1 需要一个绝对 URI 作为参数。请求应包含http://
或https://
您应该操作request
发送 HTTP 标头的对象。
如果你想做:
header("Location: example.com/simplephp.php");
你需要:
$request->setHeader('Location', 'example.com/simplephp.php', true);
然后你需要关闭布局、视图渲染和任何其他不需要的东西等。
处理重定向而无需过多担心细节的简单方法是Redirector 操作助手。您甚至可以在控制器之外使用它,从 Helper Broker 检索它的静态实例。
请注意,即使缩短的 URL 在几乎所有浏览器中都可以使用,您始终应该按照 HTTP 1.1 中的规定指定完整的位置 URL(包括协议和域名)。