好吧,我需要这样做,以便任何用户都可以在我使用 Zend 框架的站点中拥有 foo.com/username。
问题是我希望 foo.com/login 和其他控制器继续工作,所以我已经确认没有用户可以被命名为我要使用的控制器之一。htaccess 不能更改或 mvc 配置不起作用。所以我使用路由器。
我知道如果我使用类似的东西:
$routes = array();
$routes['entry'] = new Zend_Controller_Router_Route_Regex('SOME REGEX HERE',
array(
'controller' => 'profile',
'action' => 'show'
),
array(
'id' => "dsadsa", // maps first subpattern "(\d+)" to "id" parameter
1 => 'id' // maps first subpattern "(\d+)" to "id" parameter
)
);
$router->addRoutes($routes);
我可以让它匹配正则表达式的所有内容都被重定向,但我不知道是否有更好的方法(以某种方式链接 2 个路由器)我不必在一个非常大的 OR 中实际列出我的控制器。
任何的想法?