0

我在zend中有大量带有各种参数的路由。如果网址有 1. 无效参数 2. 未知参数,我需要抛出 404

例如,我有以下网址

http://www.example.com/something/1

有路线

'client'    => array(
    'type'          => 'Zend_Controller_Router_Route',
    'route'         => '/:alias/:page',
    'defaults'      => array('module' => 'client', 'controller' => 'index', 'action' => 'details', 'alias' => false, 'page' => 1),
),

当请求 url 未知时,我需要抛出 404 - 额外的东西,比如

http://www.example.com/something/1/whatever/can/be/added

有没有一些方便的方法来实现这一点?

4

1 回答 1

0

不是我知道的。

Zend Router 的工作方式是如果你的路由是 /something/1/another/param/is/here

那么显然在您的操作中,参数“别名”将是“某物”,“页面”将是“1”。

但是 Zend Router 也会为你映射这些额外的参数,所以 $this->_getParam("another") 会返回 "param" 而 $this->_getParam("is") 会返回 "here"。

要禁用此功能并抛出 404,您必须使用自己的适配覆盖 Zend Router,如果找到这些附加参数,则抛出 404。

于 2013-09-27T22:48:28.500 回答