php - 如何将 Controller /操作设置为找不到页面

标签 php zend-framework zend-route

我有一个 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/

相关文章:

javascript - 将信息发布到 2 个区域。 PHP/Javascript

php - Zend_Translate - Zend_Navigation 和 Routing 组合问题!

php - Magento 模块的 URL 重写

php - 如何在 Mysql 查询 IN 子句中导入两个数组

php - CakePHP : How to Create OptGroup Drop down list from DataBase?

php - 以编辑形式上传 Symfony 文件

php - Zend Framework 2 返回对象作为查询结果

mysql - Zend 语法中的 Sql 查询

zend-framework - 使用 Zend Mail 处理未送达的电子邮件

zend-framework - Zend_Controller_Router_Exception : Route default is not defined