Как заставить Zend Route использовать другой модуль в зависимости от имени домена

Я хотел бы настроить несколько доменных имен для использования одной и той же структуры, но я не могу заставить маршрутизатор zend согнуть мою волю.

Существует множество примеров использования субдоменов, но попытка заставить их работать на весь домен, похоже, не работает, как я ожидал.

Вот ближайший я пришел, но он, похоже, не работает:

resources.router.routes.mysite.type = "Zend_Controller_Router_Route_Hostname" resources.router.routes.mysite.route = "www.mysite.com" resources.router.routes.mysite.defaults.module = "mysite" resources.router.routes.mysite1.type = "Zend_Controller_Router_Route_Hostname" resources.router.routes.mysite1.route = "www.mysite1.com" resources.router.routes.mysite1.defaults.module = "mysite1" 

Какие-либо предложения?

Solutions Collecting From Web of "Как заставить Zend Route использовать другой модуль в зависимости от имени домена"

Основываясь на этом потоке Nabble , похоже, вам нужно добавить маршрут маршрута, а затем объединить маршрут маршрута к вашим маршрутам имен хостов.

Возможно, что-то вроде:

 ; abstract routes to be used in chaining resources.router.routes.plain.type = "Zend_Controller_Router_Route" resources.router.routes.plain.abstract = true resources.router.routes.plain.route = "/:controller/:action" resources.router.routes.plain.defaults.controller = "index" resources.router.routes.plain.defaults.action = "index" resources.router.routes.mysite.type = "Zend_Controller_Router_Route_Hostname" resources.router.routes.mysite.abstract = true resources.router.routes.mysite.route = "www.mysite.com" resources.router.routes.mysite.defaults.module = "mysite" resources.router.routes.mysite1.type = "Zend_Controller_Router_Route_Hostname" resources.router.routes.mysite1.abstract = true resources.router.routes.mysite1.route = "www.mysite1.com" resources.router.routes.mysite1.defaults.module = "mysite1" ; now the actual (non-abstract) routes are chains of the abstract ones resources.router.routes.mysite-plain.type = "Zend_Controller_Router_Route_Chain" resources.router.routes.mysite-plain.chain = "mysite,plain" resources.router.routes.mysite1-plain.type = "Zend_Controller_Router_Route_Chain" resources.router.routes.mysite1-plain.chain = "mysite1,plain" 

Фактически, мы могли бы свернуть два абстрактных маршрута mysiteX в один абстрактный маршрут, используя заполнитель, такой как :site чтобы стоять за значением mysiteX и устанавливать некоторые требования / значения по умолчанию для них, но я думаю, что это передает идею.

Не тестировалось – на самом деле я никогда не играл с цепочками до того, как раньше, но кажется, что для выполнения маршрутизации хоста требуется что-то подобное.

Я сделал это раньше, фактически используя разные файлы конфигурации на основе текущего значения $_SERVER['SERVER_NAME'] , который настроен веб-сервером. ( HTTP_HOST – это тот, который был отправлен клиентом).

Вероятно, вы могли бы сделать одно и то же в одном файле, используя разделы INI-файла и наследование .