您可以使用Zend_Controller_Router_Route将您的 url 部分映射到可以通过 $this->_getParam('varName') 在控制器中使用的模块、控制器、动作和参数。您可以在 application.ini 文件或应用程序引导程序中定义这些路由。
// custom city route
$route = new Zend_Controller_Router_Route(
'cities/:city',
array(
'controller' => 'city',
'action' => 'view'
)
);
$this->addRoute('city', $route);
// custom buy widgets route
$route = new Zend_Controller_Router_Route_Regex(
'buy_(.+)_widgets/([0-9]+)(.*)',
array(
'controller' => 'widgets',
'action' => 'view'
),
array(
1 => 'nothing',
2 => 'widget_id',
3 => 'vars'
)
);
$this->addRoute('widgets', $route);
正则表达式路由是特定于我的应用程序的,但您可以看到每个匹配项都可以映射到一个参数。