2011-12-16 115 views
0

我有以下代碼:Zend Framework的主機路由

$route = new Zend_Controller_Router_Route_Hostname("test", array('controller'=>'mycontroller')); 

這工作得很好,並將請求重定向到「myController的」索引操作。

我需要做的是能夠調用以下網址:

http://test/myaction 

如果所要求的動作是mycontroller-> myaction

沒有人有線索?

謝謝。

回答

0

documentation

主機名路由可以,但不應該被用作是。這背後的原因是,一個主機名路由本身將匹配任何路徑。所以你需要做的是將一個路徑路由鏈接到主機名路由。這是通過調用$hostnameRoute->chain($pathRoute);來完成的。通過這樣做,$hostnameRoute不會被修改,但會返回一個新路由(Zend_Controller_Router_Route_Chain),然後可以將其發送給路由器。

鑑於您的主機名路由中沒有實際的變量組件,這是相當多餘的。如果您的路線沒有可變部分,您最好堅持使用Zend_Controller_Router_RouteZend_Controller_Router_Route_Static

+0

我不確定我是否明白你的意思。將會有多個主機路由。有些人,比如這個例子,會有不同的動作。 我想要實現的是讓主機確定控制器,如果沒有指定路徑,請使用索引操作。如果有任何行動被指定。所以: `code`http://測試/ 將使用和myController的指標作用,而: `code`http://測試/ myaction/ 將使用和myController的的myaction行動。 – 2011-12-17 16:00:26