Php Zend路由器默认控制器
我做了一个正则表达式路由,将任何段路由到类别,除了2个值home或about。 现在的问题是,当用户浏览到我的基本url时,它也会路由到类别 我环顾四周,找不到一种方法向我的正则表达式中添加一个异常,以便主页路由到索引而不是类别控制器 这是我的密码Php Zend路由器默认控制器,php,zend-framework,routing,Php,Zend Framework,Routing,我做了一个正则表达式路由,将任何段路由到类别,除了2个值home或about。 现在的问题是,当用户浏览到我的基本url时,它也会路由到类别 我环顾四周,找不到一种方法向我的正则表达式中添加一个异常,以便主页路由到索引而不是类别控制器 这是我的密码 <archive type="Zend_Controller_Router_Route_Regex"> <route>(^(?!home$|about$).*$)</route> <def
<archive type="Zend_Controller_Router_Route_Regex">
<route>(^(?!home$|about$).*$)</route>
<defaults>
<controller>category</controller>
<action>index</action>
</defaults>
<reverse>%s</reverse>
</archive>`
如果我将索引或默认值添加到我的异常,它仍然会路由到类别。添加一个静态路由,将空url映射到索引控制器和操作
<home type="Zend_Controller_Router_Route_Static">
<route></route>
<defaults>
<controller>index</controller>
<action>index</action>
</defaults>
</home>
如果我们有10条静态路线呢?我们需要为每一个单独添加规则吗?听起来OP问题非常具体。每个静态URL都映射到同一个控制器/操作,因此添加一个空路由来匹配/映射所有其他URL既快捷又简单。如果所有其他静态url都需要映射到特定的控制器,那么您可以为每个控制器添加单独的静态路由,或者简单地返回到:controller/:action url格式,让默认路由处理它。