$router->add('/news/{alias:[a-z\-]+}(/?)', array(
'module' => 'frontend',
'controller' => 'news',
'action' => 'view',
'news_id' => 1,
'lang' => 'md',
))->setName('news_view_short_e'); //=> /news/282334-alias-news
$router->add('/{lang:[' . $langsDefined . ']{2}+}/{controller:[a-z]{3,50}+}(/?)', array(
'module' => 'frontend',
'controller' => 2,
'action' => 'index',
'lang' => 1,
))->setName('default_module_lang');
当我使用这些路线时。 site.com/news/index无效。但是,如果我删除带别名的路由。路线site.com/news/index工作正常。我如何解决冲突?
答案 0 :(得分:0)
可能因为它也将你的“索引”作为别名参数匹配,所以第一条规则获胜。除了修复正则表达式或重新排序路线之外,没有什么神奇的解决方案。
反转您的路线订单会带来一个新问题,反过来因为它也会匹配控制器而不是您的别名。
我更喜欢坚持使用默认路由,并在此处安装路由器组是我的路由器:
table2