2009-11-11 12 views
1

我在012个月前询问了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框架。任何有关这个问题的帮助将不胜感激。

回答

1

我找到了解决方案。首先,问题是由于Zend Framework路由规则中的一个错误,导致一个空的静态路由(空字符串)永远不匹配。这就是为什么sub.example.com/hello.php可以工作,但不是sub.example.com

有一个这样的补丁,它完美的作品。

请去here阅读更多关于这个问题并获得补丁。希望他们很快将这个补丁集成到主干中。