1

我需要一个 Zend_Controller_Route_Route 控制器 => 'downloads',action => 'index' 和一个无限的参数变量。

www.domain.com/downloads/this/is/the/path/to/the/folder 

应该重定向到

DownloadsController > indexAction

我在考虑类似以下的事情:

'downloads' => array(
        'route' => 'downloads/*',
        'defaults' => array('controller' => 'downloads', 'action' => 'index')

但是我如何请求 * 作为参数?

4

1 回答 1

2

您可以使用正则表达式路由http://framework.zend.com/manual/de/zend.controller.router.html#zend.controller.router.routes.regex

$router = Zend_Controller_Front::getInstance()->getRouter(); // returns a rewrite router by default

$route['default'] = new Zend_Controller_Router_Route_Regex(
    '/downloads/(.*)',
    array(
        'controller'=> 'Downloads',
        'action'    => 'index',
    ),
    array(
        1           => 'downloadpath',
    )
);

$router->addRoute('default', $route['default']);

我还没有测试过,但类似的东西应该可以工作

于 2010-10-11T15:43:41.763 回答