1
<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/* 的路由来覆盖主页和索引控制器上的基本操作。

domain.com/community/random_action => 效果很好。

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

我在路由“www-community-index”上尝试了 assemble(),它给出了很好的 www.domain.com/community

我看不出问题出在哪里:(

4

1 回答 1

0

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

于 2011-09-11T15:56:43.807 回答