开发者

Default route is matched instead specific 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"&g开发者_高级运维t;
                        <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>

As you can see, I use a route with :action/* in to cover the homepages and the basics actions on index controller.

domain.com/community/random_action => works good.

domain.com/community/ doesn't work. The whole homepage is displayed. I checked, and the default route is matched.

I tried assemble() on route "www-community-index" and it gives well www.domain.com/community

I don't see from where comes the problem :(


The first thing you should check is if you deleted the default route. The second one is....remember that the routes are checked in reverse order. This means that the most specific should be the first and the default the last one.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜