Я хотел бы настроить несколько доменных имен для использования одной и той же структуры, но я не могу заставить маршрутизатор 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"
Какие-либо предложения?
Основываясь на этом потоке 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-файла и наследование .