我正在尝试定义一个使用现有路由的语言路由。我们的想法是让以下urls起作用:
/en/dashboard/usability-testing/setup
/fr/dashboard/usability-testing/setup问题是,它们只能在没有语言(/dashboard/usability- that /setup)的情况下工作,当然,它们总是默认使用英语。
下面是我的application.ini路由定义:
resources.router.routes.defaultmodule.type = Zend_Controller_Router_Route_Module
resources.router.routes.defaultmodule.defaults.mod ule = "default"
resources.router.routes.testing.type = Zend_Controller_Router_Route
resources.router.routes.testing.route = "dashboard/usability-testing/:action/*"
resources.router.routes.testing.defaults.controlle r = "usability-testing"
resources.router.routes.testing.defaults.action = "index"
resources.router.routes.study.type = Zend_Controller_Router_Route
resources.router.routes.study.route = "dashboard/usability-study/:action/*"
resources.router.routes.study.defaults.controller = "usability-study"
resources.router.routes.study.defaults.action = "index"
resources.router.routes.language.type = Zend_Controller_Router_Route
resources.router.routes.language.route = ":language"
resources.router.routes.language.reqs.language = "^(ca|es|en|fr)$"
resources.router.routes.language.defaults.language = "en"
resources.router.routes.language.chain = "testing, study, defaultmodule"
resources.router.routes.default.type = Zend_Controller_Router_Route_Chain
resources.router.routes.default.chain = "language, defaultmodule"有人能帮上忙吗?谢谢@avergess
发布于 2012-01-04 21:20:12
也许在这种情况下,您需要使用Apache .htaccess之类的东西来解决您的问题,或者至少使用web服务器而不是Zend_Route路由。
我发现当您有更复杂更大的规则集时,最好使用apache,因为它比在PHP中做同样的事情更快更快。
您需要为每种语言添加规则。你需要知道,使用domain.com/lang不是最好的选择。Matt Cutts Apache使用国家或子域的域名,如果你使用子域(lang.domain.com),你的问题可以在没有suggests RewriteRules的情况下解决。
https://stackoverflow.com/questions/8723320
复制相似问题