2013-09-25 2 views
0

I Большое количество маршрутов в zend с различными параметрами. Мне нужно, чтобы бросить 404, если URL имеет 1. недействительного Params 2. неизвестного ParamsZend, URL-маршрутизация, 404 URL-адреса с неопознанными или неизвестными параметрами

, например, у меня есть следующий URL

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), 
), 

мне нужно бросить 404, когда запрос url неизвестен - дополнительные материалы, например

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

Есть ли какой-то удобный способ достижения этого?

+0

Не могли бы вы разместить полную конфигурацию маршрута, как обычно это происходит, когда маршрут имеет больше параметров. –

ответ

0

Не об этом я знаю.

Путь Zend Router работает, если ваш маршрут/что-то/1/другой/параметр/есть/здесь

то, очевидно, в своем действии, то пары «псевдоним» будет «что-то» и «страница» будет «1».

Но Zend Router также отобразит эти дополнительные параметры для вас, поэтому $ this -> _ getParam («другое») вернет «param», а $ this -> _ getParam («is») вернется «здесь».

Чтобы отключить эту функцию и выбросить 404, вам придется перезаписать Zend Router с вашей собственной адаптацией и выбросить 404, если будут найдены эти дополнительные параметры.