默认路由匹配特定路由

时间:2010-05-31 13:08:34

标签: zend-framework url-rewriting routes zend-route

<routes>
    <www type="Zend_Controller_Router_Route_Hostname">
        <route>www.domain.com</route>
        <chains>
            <index type="Zend_Controller_Router_Route">
                <route></route>
                <defaults module="default" controller="index" action="index" />
            </index>
            <community>
                <route>community</route>
                <defaults module="community" />
                <chains>
                    <index type="Zend_Controller_Router_Route">
                        <route>:action/*</route>
                        <defaults controller="index" action="index" />
                    </index>
                    <member type="Zend_Controller_Router_Route_Regex">
                        <route>member/profile-(\d+)-(.+)</route>
                        <reverse>member/profile-%d-%s</reverse>
                        <map>
                            <id>1</id>
                            <nom>2</nom>
                        </map>
                        <defaults action="viewmember" />
                    </member>
                </chains>
            </community>
        </chains>
    </www>

如您所见,我使用带有:action / * in的路由来覆盖主页和索引控制器上的基本操作。

domain.com/community/random_action =&gt;效果很好。

domain.com/community/不起作用。显示整个主页。 我查了一下,默认路由匹配。

我在路线“www-community-index”上尝试了汇编(),它很好地提供了www.domain.com/community

我没有看到问题出在哪里:(

1 个答案:

答案 0 :(得分:0)

首先要检查的是你是否删除了默认路由。 第二个是....记住以相反的顺序检查路线。这意味着最具体的应该是第一个,默认是最后一个。