1

数か月前に、ある形式で連鎖ルールを作成する方法について同様の質問をしました。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を連鎖させて処理することで、インターネット上に多くはありません。この問題に関する助けをいただければ幸いです。

4

1 に答える 1

1

私は解決策を見つけました。この問題はまず、Zend Framework のルーティング ルールのバグが原因で、空の静的ルート (空白文字列) が一致しなくなります。これが動作する理由sub.example.com/hello.phpですが、動作しませんsub.example.com

これにはパッチがあり、完全に機能します。

この問題の詳細を読み、パッチを入手するには、ここにアクセスしてください。うまくいけば、彼らはこのパッチを近いうちにトランクに統合します。

于 2010-03-13T23:33:22.637 に答える