2009-11-11 16 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閱讀更多關於這個問題並獲得補丁。希望他們很快將這個補丁集成到主幹中。