2009-11-11 2 views
1

Я спросил similar question месяцев назад о том, как писать правила цепочки в формате app.ini. Ответ на этот вопрос работал чудесно! Теперь, однако, я обновил до последней версии Zend Framework 1.9.5 (мне нужно было обновить еще одну проблему), и теперь мои поддомены больше не работают!Правила маршрутизации субдомена (с использованием цепочки) Сбой после обновления до Zend Framework 1.9.5, но только для корня, а не для страниц

Чтобы уточнить, если я посетил subdomain.domain.com, он не признает мое правило. Однако, если я нахожусь subdomain.domain.com/somepage/ это делает признает мое правило маршрутизации.

Вот мой код:

;; the following is apparently being ignored, and does not work 
routes.manager.type = "Zend_Controller_Router_Route_Hostname" 
routes.manager.route = "manager.sitename.com" 
routes.manager.defaults.module = "manager" 

;; this is not being ignored and works! 
routes.manager.chains.settings.type = "Zend_Controller_Router_Route_Static" 
routes.manager.chains.settings.route = "/settings" 
routes.manager.chains.settings.defaults.controller = "manager" 
routes.manager.chains.settings.defaults.action = "settings" 

Так, например, если я пойду в manager.sitename.com, он просто перенаправляет на мой индекс по умолчанию и контроллер (не имеет доступа к модулю, $this->getRequest()->getModuleName() пустым). Однако, если я заеду на manager.sitename.com/settings, страница появится! Эта конфигурация app.ini отлично работает в ZF 1.7.8, но теперь, начиная с версии 1.9.5, она больше не работает.

Я попытался добавить routes.manager.defaults.controller = "manager" и routes.manager.defaults.action = 'index" к моей конфигурации, но это не сработало.

Существует не так много в Интернете с цепочкой и app.ini, касающихся Zend Framework. Любая помощь по этому вопросу была бы весьма признательна.

ответ

1

Я нашел решение. Проблема, во-первых, связана с ошибкой в ​​правилах маршрутизации Zend Framework, в результате чего пустой статический маршрут (пустая строка) никогда не будет соответствовать. Вот почему sub.example.com/hello.php будет работать, но не sub.example.com.

Для этого есть патч, и он отлично работает.

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

 Смежные вопросы

  • Нет связанных вопросов^_^