我正在使用Zend,这是我的问题,我有两个不同的网址,我真的想保留它们。
我想要url:“www.urlA.com”指向application / moduleA / indexController / indexAction 和“www.urlB.com”到应用程序/索引/索引。
换句话说,我希望Zend_Router确保当我输入www.urlA.com/index/login时,我使用应用程序/ moduleA /索引控制器和loginAction()。
我想保留经典的Zend路由,只是添加了我的模块已在url中指定的事实。
我在bootstrap中有以下代码:
protected function _initRouter()
{
$router = Zend_Controller_Front::getInstance()->getRouter();
$route = new Zend_Controller_Router_Route_Hostname(
'www.urlA.com',
array(
'module'=>'moduleA'
)
);
$routeURI = new Zend_Controller_Router_Route();
$router->addRoute('modulea', $route->chain($routeURI));
}
这种方式使用“urlA”我正确地转到moduleA / index / index但是 “urlA / index / login”不起作用。
感谢您的帮助。
答案 0 :(得分:1)
我有过类似的问题,我写了这个:
//ADMIN page
$admin = array('module' => 'admin', 'controller' => 'index', 'action' => 'index');
$hostRoute_admin = new Zend_Controller_Router_Route_Hostname('admin.mysite.com', $admin);
//special environement Website
$env = array('module' => 'env', 'controller' => 'index', 'action' => 'index');
$hostRoute_env = new Zend_Controller_Router_Route_Hostname('env.mysite.com', $env);
//Zend classic routing
$plainPathRoute = new Zend_Controller_Router_Route(':controller/:action/*',
array('controller' => 'index', 'action' => 'index'));
//add specific routing
Zend_Controller_Front::getInstance()->getRouter()->addRoute('admin', $hostRoute_admin->chain($plainPathRoute));
Zend_Controller_Front::getInstance()->getRouter()->addRoute('env', $hostRoute_env->chain($plainPathRoute));