在我Bootstrap.php
我有下面的代码定义一个路线:为什么我的路由在.ini文件中定义不起作用?
$router = Zend_Controller_Front::getInstance()->getRouter();
$router->addRoute('pageDetails', new Zend_Controller_Router_Route('page-details/:uid/:title', array(
'module' => 'default',
'controller' => 'list',
'action' => 'detail',
), array(
'uid' => '\d+',
'title' => '(.*)?',
)));
这工作。
然后我尝试将路由设置更改为使用定义路由的.ini
文件。该.ini
文件看起来像这样:
[routes]
pageDetails.route = "page-details/:uid/:title"
pageDetails.default.module = "default"
pageDetails.default.controller = "list"
pageDetails.default.action = "detail"
pageDetails.reqs.uid = "\d+"
pageDetails.reqs.title = "(.*)?"
我在Bootstrap.php
通过添加路由:
$config = Zend_Registry::get('config');
$router = Zend_Controller_Front::getInstance()->getRouter();
$router->addConfig(new Zend_Config_Ini($config['routes']['configPathname'], 'routes'));
虽然.ini
版本和路径在PHP代码中定义应该做的完全一样,.ini
版本不起作用。前端没有任何错误信息,链接看起来没问题,但是点击一个链接后,我只是重定向到了开始页面。
缺什么?
Hm,s orry,似乎没有工作,如果我改变ini文件中的行,使其看起来像你所建议的,我得到一个Zend_Config_Exception与消息“语法错误,意外'(”。感谢您的提示。 – Max 2010-09-12 20:48:07