Phalcon两条单一路线

时间:2017-12-22 08:37:22

标签: php routes phalcon

我有一个问题。我有两条路线:

$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

AND route => /消息/索引/:

$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工作正常。我如何解决冲突?

1 个答案:

答案 0 :(得分:0)

可能因为它也将你的“索引”作为别名参数匹配,所以第一条规则获胜。除了修复正则表达式或重新排序路线之外,没有什么神奇的解决方案。

反转您的路线订单会带来一个新问题,反过来因为它也会匹配控制器而不是您的别名。

我更喜欢坚持使用默认路由,并在此处安装路由器组是我的路由器:

table2