1

Zend Framework の application.ini に次のルーターがあります。

resources.router.routes.route_id.route = "/artists/:uid"
resources.router.routes.route_id.defaults.module = "admin"
resources.router.routes.route_id.defaults.controller = "showrooms"
resources.router.routes.route_id.defaults.action = "edit"

これは機能し、「/artists/:uid」を正しい場所にルーティングします。

このアプリケーションはモジュール式で、上記のルーティングはすべてのモジュールに適用されます。

ルーティングを 1 つのモジュールだけに適用するにはどうすればよいですか?

次のモジュールがあります。

管理者: admin.site.com

会社: corp.site.com

その他: other.site.com

ユーザーがCorpモジュールにヒットした場合にのみ、上記のルーティングを適用したい.

前もって感謝します!

4

1 に答える 1

1

必要なのは、サブドメインを corp モジュールにルーティングすることです

そのためには、 zend route にホスト名ルーティングを使用するように指示する必要があります

routes.corp.type = "Zend_Controller_Router_Route_Hostname"
routes.corp.route = "corp.:domain.:tld"

このようにして、すべてのトップレベル ドメインのすべてのドメインのサブドメイン corp がルーティングされます。site.com だけにしたい場合は作成してください

routes.corp.route = "corp.site.com"

サブドメインをルーティングしたので、デフォルトに追加してモジュールに送信するように設定できます

routes.corp.defaults.module = "corp"

「通常」としてルーティングするには、次のようにしてデフォルトルートに接続します

routes.corp.chains.index.type = "Zend_Controller_Router_Route"
routes.corp.chains.index.route = ":controller/:action/*"
routes.corp.chains.index.defaults.controller = "index"
routes.corp.chains.index.defaults.action = "index"

corp.site.com/news/view/id/1 が corp モジュールの newsController に移動するようにします

于 2012-06-13T15:35:43.047 に答える