symfony 2中的奇怪路由行为

时间:2012-11-18 22:27:51

标签: php symfony routing multilingual

在我的symfony 2.1.3项目中,我有一个规则:

#app\config\routing.yml
acme:
resource: "@AcmeDemoBundle/Resources/config/routing_acme.yml"
prefix:   /

#src\Acme\DemoBundle\Resources\config\routing_acme.yml
acme_homepage:
pattern:  /{_locale}
defaults: { _controller: AcmeDemoBundle:Default:index, _locale:kz }
requirements:
    _locale: kz|ru|en

然而,工作链接:

http://example.com/
http://example.com/en

其他variatons抛出 404“找不到”GET / ru /“” 404的路线“找不到”GET“/ kz /”

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

最终自己找到了,问题是在规则中缺少“/”符号:

pattern:  /{_locale}/

但是,现在这个链接不起作用:

http://example.com/

我认为,重定向到默认语言环境也可以解决这个问题,但我认为路由/ kz和/ ru根本不匹配很奇怪

答案 1 :(得分:0)