protected function _initHostnameRouter()
{
$this->bootstrap('autoload');
$this->bootstrap('FrontController');
$front = $this->getResource('FrontController');
$router = $front->getRouter();
$hostRoute1 = new Zend_Controller_Router_Route_Hostname('admin.example.net',array('module' => 'admin'));
$hostRoute2 = new Zend_Controller_Router_Route_Hostname('vouchers.example.net',array('module' => 'vouchers'));
$pathRoute = new Curo_Route_NoModule();
$router->removeDefaultRoutes();
$router->addRoute('default', $pathRoute);
$router->addRoute('admin', $hostRoute1->chain($pathRoute));
$router->addRoute('vouchers', $hostRoute2->chain($pathRoute));
}
У меня есть код, используемый в файле Bootstrap, и он работает хорошо. Мне нужно добавить другое доменное имя для модуля admin. Теперь я использую admin.example.net
для модуля admin. Мне также нужно добавить admin.examplenew.net
. Мне не нужно менять старый домен. Оба должны работать одновременно.Zend_Controller_Router_Route_Hostname для двух доменных имен
Я попытался,
$hostRoute1 = new Zend_Controller_Router_Route_Hostname('admin.example.net',array('module' => 'admin'));
$hostRoute2 = new Zend_Controller_Router_Route_Hostname('vouchers.example.net',array('module' => 'vouchers'));
$hostRoute3 = new Zend_Controller_Router_Route_Hostname('admin.examplenew.net',array('module' => 'adminnew'));
$pathRoute = new Curo_Route_NoModule();
$router->removeDefaultRoutes();
$router->addRoute('default', $pathRoute);
$router->addRoute('admin', $hostRoute1->chain($pathRoute));
$router->addRoute('vouchers', $hostRoute2->chain($pathRoute));
$router->addRoute('adminnew', $hostRoute3->chain($pathRoute));
Но обе доменные имена не работают одновременно.
Спасибо за ваш ответ. Поэтому мне нужно создать новое имя модуля для модуля администратора (например, adminnew), не так ли? Не могу ли я ссылаться на одно и то же имя модуля для разных доменов? – NewPHP
Не нужно изменять имя модуля; вы можете перенаправить два разных домена в один и тот же модуль. Вышеупомянутая проблема заключается в том, что вы пытаетесь добавить два маршрутизатора с одним и тем же * именем маршрута * 'admin' на маршрутизатор. Если вы измените имя второго маршрута, маршрутизатор сможет сохранить их оба. –