【发布时间】:2012-04-30 03:00:59
【问题描述】:
我有一个控制器设置来接受两个变量:/clients/view/var1/var2
我想显示为/var1/var2
我试过了
Router::connect('/*', array('admin'=>false, 'controller' => 'clients', 'action' => 'view'));
但这会阻止所有其他控制器作为/* 路由一切
站点上的所有其他页面都在 admin 前缀内,所以如果当前前缀是 admin,基本上我需要一个被忽略的路由!我试过这个(正则表达式来自Regular expression to match a line that doesn't contain a word?):
Router::connect('/:one', array('admin'=>false, 'controller' => 'clients', 'action' => 'view'), array(
'one' => '^((?!admin).*)$'
));
但我认为正则表达式不正确,因为如果我导航到 /test,它会要求测试控制器,而不是客户端
我唯一的其他路线是:
Router::connect('/admin', array('admin'=>true, 'controller' => 'clients', 'action' => 'index'));
Router::connect('/', array('admin'=>false, 'controller' => 'users', 'action' => 'login'));
我做错了什么?谢谢。
【问题讨论】: