2014-11-22 38 views
2

我想有這樣的網址:Symfony2的指數路線2參數

example.com 
example.com/category 
example.com/category/name 

我的路線:

default_page: 
    path:  /{name} 
    defaults: { _controller: CatalogWebBundle:Default:index } 
default_page: 
    path: /
    defaults: { _controller: CatalogWebBundle:Default:index } 
default_page: 
    path:  /{name}/{category} 
    defaults: { _controller: CatalogWebBundle:Default:index } 

正常工作,只有

example.com/category 

什麼是錯我的路線?

錯誤是:

No route found for "GET /category/name" 
No route found for "GET /" 
+2

我想這可能是因爲你把它們全部設置爲'default_page'?或者僅僅是爲了這個例子? – ChadSikorra 2014-11-22 14:21:15

+0

@ChadSikorra,但這可能是1頁'indexAction' – Wizard 2014-11-22 14:22:40

+4

是的,但他們仍然需要不同的名稱爲YAML否則一些將被忽略,你會得到意想不到的結果。或者,也許我不明白一些明顯的東西?時間搶我的早晨咖啡哈哈。 – ChadSikorra 2014-11-22 14:43:09

回答

2

使你的內部名稱是唯一的,它應該正常工作。

default_page_X: 
    path:  /{name} 
    defaults: { _controller: CatalogWebBundle:Default:index } 
default_page_Y: 
    path: /
    defaults: { _controller: CatalogWebBundle:Default:index } 
default_page_Z: 
    path:  /{name}/{category} 
    defaults: { _controller: CatalogWebBundle:Default:index } 
3

括號是變量。當你鍵入.com /類別時,它將進入你的第一條路線,其中「category」作爲變量名的值

+0

是的,我需要傳遞變量通過獲得'example.com/category1/name1' – Wizard 2014-11-22 14:20:19

+0

哦好吧,我沒有看到這裏的任何錯誤.. – oligan 2014-11-22 14:26:09

+0

除非你在服務器上prod,你沒有重寫規則? – oligan 2014-11-22 14:30:48