1

Zend 1.9 で遊んでいて、言語パラメーターをサブドメインとして使用したいと考えています。

のように: http://en.site.com

.htaccess で言語を取得し、Zend で使用できる環境変数に設定することは可能ですか?

私が望むものを達成するための最良の方法は何ですか?

- 追加した - :

これを routes.ini に追加しました:

[routes]

routes.lif.type = "Zend_Controller_Router_Route_Hostname"
routes.lif.route = ":language.domain.:tld"
routes.lif.reqs.language= "[a-z]{2}"
routes.lif.defaults.controller = "index"
routes.lif.defaults.action = "index"
routes.lif.defaults.language = "en"

; default
routes.lif.chains.default.type = "Zend_Controller_Router_Route"
routes.lif.chains.default.route = "/:controller/:action"
routes.lif.chains.default.defaults.controller = index
routes.lif.chains.default.defaults.action = index

; register
routes.lif.chains.register.type = "Zend_Controller_Router_Route"
routes.lif.chains.register.route = "/register"
routes.lif.chains.register.defaults.controller = "register"
routes.lif.chains.register.defaults.action = "newuser"

; details
routes.lif.chains.band.type = "Zend_Controller_Router_Route"
routes.lif.chains.band.route = "/details/:name"
routes.lif.chains.band.defaults.controller = "details"
routes.lif.chains.band.defaults.action = "getdetails"

http://en.domain.com/details/joeに行くとうまくいきますが 、残念ながらサブドメインを削除するとhttp://domain.com/details/joeデフォルトのアクションが呼び出されず、

メッセージ: アクション "joe" は存在せず、__call() にトラップされませんでした

アイデアはありますか?

みんなありがとう。

ティエリー

4

1 に答える 1

2

あなたは幸運です -まさにこの目的のために代わりに使用できるZend_Controller_Router_Route_Hostnameがあります。ドメインの後の部分でカスタム ルーティングを実現したい場合は、Zend_Controller_Router_Route_Chainを確認する必要があります。

于 2009-10-24T23:32:31.283 に答える