Язык как поддомен с Zend 1.9 - PullRequest
       22

Язык как поддомен с Zend 1.9

1 голос
/ 25 октября 2009

Я играю с Zend 1.9 и хотел бы иметь параметр языка в качестве субдомена.

Как: http://en.site.com

Можно ли получить язык в .htaccess и установить для него переменную окружения, которую я могу использовать в Zend?

Как лучше всего добиться того, чего я хочу?

- добавлено -:

Я добавил это в мой rout.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 ()

У вас есть идея?

Спасибо, ребята.

Thierry

1 Ответ

2 голосов
/ 25 октября 2009

Вам повезло - есть Zend_Controller_Router_Route_Hostname , который можно использовать вместо этого именно для этой цели. Если вы хотите добиться пользовательской маршрутизации в части после вашего домена, вам нужно взглянуть на Zend_Controller_Router_Route_Chain .

...