2011-07-16 143 views
0

我做了一個正則表達式路由來將任何段路由到類別,除了2個值(家或約)。 現在我遇到的問題是,當用戶瀏覽到我的基地網址,它也路由到類別。Zend路由器默認控制器

我環顧四周,我找不到一種方法來添加一個異常到我的正則表達式,以便主頁路由索引,而不是類別控制器。

這是我的代碼

<archive type="Zend_Controller_Router_Route_Regex"> 

    <route>(^(?!home$|about$).*$)</route> 

    <defaults> 
     <controller>category</controller> 
     <action>index</action> 
    </defaults> 

    <reverse>%s</reverse> 

</archive>` 

,如果我給我的例外仍然路由添加索引或默認類別

回答

0

添加一個空的URL映射到索引控制器和行動的靜態路由。

<home type="Zend_Controller_Router_Route_Static"> 

    <route></route> 

    <defaults> 
     <controller>index</controller> 
     <action>index</action> 
    </defaults> 

</home> 
+0

如果我們有10條靜態路由,該怎麼辦?我們是否需要分別爲它們添加規則? – emaillenin

+0

聽起來好像OP問題非常具體。每個靜態URL映射到相同的控制器/動作,因此添加一個空路由來匹配/映射所有其他動態URL是快速和容易的。如果你所有的其他靜態URL都需要映射到特定的控制器,那麼你可以爲每個控制器添加單獨的靜態路由(或者簡單地回到:controller /:action url格式並讓默認路由處理它)。 –