2014-01-26 49 views
0

如果有任何可能告訴Symfony2 framework,如果我的路由中的所有參數都有默認值,將會被重定向到同一路由,但是不會使用它們嗎?與Symfony2相同,生成URL地址。Symfony2,autoredirect如果所有參數都是默認路由

例如:

default_blog: 
    path:  /{type}/{page} 
    defaults: { _controller: AcmeBlogBundle:Default:index, type: "page", page: 1} 
    requirements: 
     page: \d+ 
     type: page 

所以,如果我有/page/2這將是確定的,但如果我把/page/1到URL,我會被重定向到/。這是可能的,如果是,如何?

回答

0

在行動中添加參數$page這是一個{page}佔位符在路線中,然後使用if檢查第一頁。並且與類型相同:

public function pageAction($type, $page) { 

    if ($type == 'page' && $page == 1) { 
     $this->redirect('/'); 
    } 

} 
+0

這不是一個很好的解決方案。然後,我可能會在我的路線中創建重定向。對於每個具有所有默認值的路線,是否有全球解決方案? –

+0

這是一個不錯的解決方案。您不能在路由中直接使用重定向,但是必須在控制器中手動使用它。 –

+0

但我必須在我的控制器中手動使用它。所以如果我有10個控制器,並且有3個以上的動作,所以我必須將它粘貼30次以上到每個動作方法。 –

相關問題