2013-09-25 39 views
0

我在zend有大量的路由和各種參數。我需要拋出一個404如果URL具有 1.參數無效 2.未知PARAMSZend,URL路由,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 

有沒有一些方便的方法來實現這一點?

+0

您可以發佈完整的路由配置,通常情況下,只要路由具有更多參數,就會發生這種情況。 –

回答

0

不是我所知道的。

方式的Zend路由器的工作原理是,如果你的路由是/東西/ 1 /其它/參數/是/這裏

那麼很顯然你的行動,那麼帕拉姆「別名」,將「東西」和「頁」將是'1'。但是Zend路由器也會映射這些附加參數給你,所以$ this - > _ getParam(「another」)將返回「param」,$ this - > _ getParam(「is」)將返回「here」。

要禁用此功能並拋出一個404,您必須用自己的適配覆蓋Zend路由器,並在發現這些附加參數時拋出一個404。