数か月前に、ある形式で連鎖ルールを作成する方法について同様の質問をしました。app.iniこの質問への答えは素晴らしく機能しました!ただし、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構成はZF1.7.8で正常に機能しますが、1.9.5にアップグレードしたため、機能しなくなりました。
構成にとを追加しようroutes.manager.defaults.controller = "manager"とroutes.manager.defaults.action = 'index"しましたが、これは機能しませんでした。
app.iniZend Frameworkを連鎖させて処理することで、インターネット上に多くはありません。この問題に関する助けをいただければ幸いです。