Мне нужно запустить один и тот же сайт на основе zend_framework для работы в нескольких доменах, и мое приложение должно знать, в каком домене оно работает.Я подумал, что было бы неплохо использовать Zend_Controller_Router_Route_Hostname, но я столкнулся с некоторыми проблемами.
У меня есть следующий код в моей начальной загрузке
$ctrl = Zend_Controller_Front::getInstance();
$router = $ctrl->getRouter();
$router->removeDefaultRoutes();
$hostnameRoute = new Zend_Controller_Router_Route_Hostname(
':sub-domain.:domain.:tld'
);
$defaultRoute = new Zend_Controller_Router_Route(
':controller/:action/*',
array(
'controller' => 'index',
'action' => 'index'
)
);
$router->addRoute('default',$hostnameRoute->chain($defaultRoute));
Я получаю следующую ошибку "sub-домен не указан. "Я думаю, что отследил это до того, что $ this-> url в моем файле макета использует определенные маршруты для сборки URL до того, как маршрут сопоставляется с URL-адресом запроса.Если я устанавливаю значения по умолчанию для маршрута имени хоста, я не получаю сообщение об ошибке, но URL-адреса в макете используют значения по умолчанию вместо значений в текущем имени хоста.
Кто может помочь мне решить эту проблему?