【问题标题】:Zend_Router route url to a specific moduleZend_Router 路由 url 到特定模块
【发布时间】:2013-04-07 18:07:03
【问题描述】:

我正在使用 Zend,这是我的问题,我有两个不同的 url,我真的想保持原样。

我希望 url : "www.urlA.com" 被定向到 application/moduleA/indexController/indexAction 和“www.urlB.com”到应用程序/索引/索引。

换句话说,我希望 Zend_Router 确保当我键入 www.urlA.com/index/login 时我使用 application/moduleA/ 索引控制器和 loginAction()。

我想保留经典的 Zend 路由,只是添加我的模块已经在 url 中指定的事实。

我在引导程序中有以下代码:

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”不起作用。

感谢您的帮助。

【问题讨论】:

    标签: php zend-framework zend-route


    【解决方案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)); 
    

    【讨论】:

      猜你喜欢
      • 2015-07-27
      • 1970-01-01
      • 2014-08-19
      • 1970-01-01
      • 1970-01-01
      • 2018-02-25
      • 2015-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多