我有一个 Controller 和操作,我通过自定义 URL 访问它们。尽管在默认位置仍然可以访问原始路线
zend.com/controller/action
当用户尝试访问此 URL 时,如何更改它以模拟“找不到页面”?可能吗?
最佳答案
如果操作处理程序用于响应两个 URL,您首先必须检测正在请求哪个 URL(使用 $this->_request->getRequestUri())。如果检测到默认 URL,我认为创建“找不到页面”的最简单方法是使用
$this->_redirect("/path/to/simulated/404/page")
并设置一个 Controller 和 Action 来响应。
不过,这实际上不会发送 HTTP 404。为此,我认为您必须在操作处理程序中引发异常。我不知道这样做的官方“zendy”方式是什么,但这似乎有效:
throw new Zend_Controller_Action_Exception('Not Found', 404);
关于php - 如何将 Controller /操作设置为找不到页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3849727/