Вместо определенного маршрута сопоставляется маршрут по умолчанию

<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/ не работает. Отображается вся домашняя страница. Я проверил, и маршрут по умолчанию совпадает.

Я попробовал assemble() на маршруте "www-community-index", и он хорошо дает www.domain.com/community.

Не понимаю, откуда проблема :(


person Supertino7    schedule 31.05.2010    source источник


Ответы (1)


Первое, что вы должны проверить, это удалили ли вы маршрут по умолчанию. Второй... помните, что маршруты проверяются в обратном порядке. Это означает, что наиболее конкретный должен быть первым, а по умолчанию последним.

person Aurelio De Rosa    schedule 11.09.2011