我有一个控制器和操作,我正在通过自定义URL访问.原始路线仍可在默认位置访问
zend.com/controller/action
如果操作处理程序用于响应这两个URL,您首先必须检测正在请求哪个URL(使用$this-> _request-> getRequestUri()).如果检测到默认URL,我认为创建“找不到页面”的最简单方法是使用
$this->_redirect("/path/to/simulated/404/page")
并设置一个控制器和动作来应对.
但是,这并不会发送HTTP 404.为了做到这一点,我想你必须在你的动作处理程序中引发异常.我不知道官方的“zendy”的做法是什么,但这似乎是有效的:
throw new Zend_Controller_Action_Exception('Not Found',404);