带有附加变量的Zend_Controller_Router_Route_Hostname

时间:2010-01-11 16:17:29

标签: zend-framework zend-controller-router

我遇到了在最后使用另一个变量链接某些路由的问题。我正在使用外卡子域名。 像这样:http://eric.mysite.dev/mypage1 mypage1将成为GET变量。所以我想要的是http://mysite.dev/donate/now/index/id/eric/pagename/mypage1

我没有像这样的页面名称,它工作正常:

$router=$fc->getRouter();
// Host routes
$accountHostRoute = new Zend_Controller_Router_Route_Hostname(':urlname.mysite.dev', array('module' => 'donate', 'controller' => 'now', 'action' => 'index'), array('urlname'=>'(?!www$).*')
        );

        // Account routes
        $router->addRoute('donateWithHostNameLocal', $accountHostRoute->chain(
            new Zend_Controller_Router_Route_Hostname(
                ':urlname.mysite.dev',
                array(
                    'module' => 'donate',
                    'controller' => 'now',
                    'action' => 'index'
                )
            )
        ));

但是我也想要页面名称,所以我尝试了这个,但它不起作用:

    // Account dynamic pages routes
    $router->addRoute('donateWithHostNamePageNameLocal', $accountHostRoute->chain(
        new Zend_Controller_Router_Route_Hostname(
            ':urlname.mysite.dev/:pagename',
            array(
                'module' => 'donate',
                'controller' => 'now',
                'action' => 'index'
            )
        )
    ));

我收到以下应用程序错误:消息:资源'默认:找不到mypage1'

堆栈跟踪: 0 /Applications/MAMP/bin/php5/lib/php/ZendFramework-1.9.6/library/Zend/Acl.php(751):Zend_Acl-> get('default:mypage1') 1 /Applications/MAMP/htdocs/mysite/application/modules/default/plugins/AccessCheck.php(15):Zend_Acl-> isAllowed('guest','default:mypage1','index') 2 /Applications/MAMP/bin/php5/lib/php/ZendFramework-1.9.6/library/Zend/Controller/Plugin/Broker.php(309):Plugin_AccessCheck-> preDispatch(Object(Zend_Controller_Request_Http)) 3 /Applications/MAMP/bin/php5/lib/php/ZendFramework-1.9.6/library/Zend/Controller/Front.php(933):Zend_Controller_Plugin_Broker-> preDispatch(Object(Zend_Controller_Request_Http)) 4 /Applications/MAMP/bin/php5/lib/php/ZendFramework-1.9.6/library/Zend/Application/Bootstrap/Bootstrap.php(77):Zend_Controller_Front-> dispatch() 5 /Applications/MAMP/bin/php5/lib/php/ZendFramework-1.9.6/library/Zend/Application.php(358):Zend_Application_Bootstrap_Bootstrap-> run() 6 /Applications/MAMP/htdocs/mysite/public/index.php(34):Zend_Application-> run() 7 {main}

请求参数: 阵列(   'controller'=> 'mypage1',   'action'=> '指数',   'module'=> '默认', )

1 个答案:

答案 0 :(得分:1)

我怀疑您的ACL没有定义此资源,您使用自定义逻辑来生成资源。