我正在使用.ini文件在我的应用程序中添加路由。
resources.router.routes.username.type = "Zend_Controller_Router_Route_Hostname"
resources.router.routes.username.route = ":username.example.com"
resources.router.routes.username.defaults.module = "userinfo"
resources.router.routes.username.chains.index.type = "Zend_Controller_Router_Route"
resources.router.routes.username.chains.index.route = ":language/:controller/:action/*"
resources.router.routes.username.chains.index.defaults.controller = "index"
resources.router.routes.username.chains.index.defaults.action = "index"
1) http://john.example.com/fr/controller/action
2) http://john.example.com/fr/controller/action/id/10
#1 url它的工作原理。请求参数
Request Parameters:
array (
'language' => 'fr',
'controller' => 'controller',
'action' => 'action',
'username' => 'john',
'module' => 'userinfo',
)
#2 url它不起作用。请求参数
Request Parameters:
array (
'controller' => 'fr',
'action' => 'controller',
'module' => 'default',
)
任何人都可以为此提出解决方案。
答案 0 :(得分:0)
您是否为路线设置了默认语言?说它不起作用你能提供更多细节吗? 我遇到了类似的问题,Zend_navigation没有接受语言参数,总是切换到我定义的默认语言。
最终我必须通过在自定义插件的routshutdown中手动设置默认语言来破解它,如果有帮助请查看我的帖子
答案 1 :(得分:0)
resources.router.routes.username.type = "Zend_Controller_Router_Route_Hostname"
resources.router.routes.username.route = ":username.example.com"
resources.router.routes.username.defaults.module = "userinfo"
resources.router.routes.username.chains.index.type = "Zend_Controller_Router_Route"
resources.router.routes.username.chains.index.route = ":language/:controller/:action/*"
resources.router.routes.username.chains.index.defaults.controller = "index"
resources.router.routes.username.chains.index.defaults.action = "index"
resources.router.routes.username.chains.index.defaults.language = "en"
我在路线中添加默认语言参数。但这个网址不起作用
http://john.example.com/fr/controller/action/id/10
Request Parameters:
array (
'controller' => 'fr',
'action' => 'controller',
'module' => 'default',
)
答案 2 :(得分:0)
看起来路线已重置为默认值。
之前我遇到过创建一个插件并注册到前端控制器。在那里定义dispatchLoopStartup()尝试使用
设置语言参数或模块名称$router = $fc->getRouter();
$router->setGlobalParam('lang','somelanguage');
$router->setGlobalParam('module','somemodule');
看看你是否能带回正确的路线。