Symfony路由后备链

时间:2014-01-31 00:23:17

标签: symfony routing

我习惯于Magento以及他们将路由器链接起来以匹配特定事实并返回链的方式如果找不到匹配,最后以noRoute结束,如果链没有找到合适的路由器请求。

有没有办法用Symfony做到这一点?

1 个答案:

答案 0 :(得分:0)

实现此目的的一种方法是:例如:

#routing.yml
ajw_home_default:
    pattern:  /{path}/
    defaults: { _controller: AJWHomeBundle:Default:index }


ajw_home_noroute:
    pattern:  /{path}/
    defaults: { _controller: AJWHomeBundle:Default:noRoute }





    //default controller
public function indexAction($controller)
{
    //test logic to see if path exists
    if($path == 'test')
    {
      return 'something';
    }
    return $this->forward('NamespaceBundlename:Default:noRoute);

}



public function noRouteAction($data)
{
      throw $this->createNotFoundException('This Page Does Not Exist');//default symfony 404
      //return $this->render('NamespaceBundlename:Default:noRoute.html.twig');
}

我不确定这是最好的方法

例如,我可以在数据库中查看是否存在带有stub = path

的博客帖子