我可以尝试以下一种方式映射网址:
en.test.example.local | en.example.com
和
admin.test.example.local | admin.example.com
使用admin我没有任何问题正常工作但是,当我尝试用变量开始uri时,symfony说: 格式错误的内联YAML字符串({locale} {enviroment}示例。{domain})...
配置是下一个:
# web urls
example_web:
host: {locale}{enviroment}example.{domain}
requirements: { locale: en , enviroment: .|.\w+., domain: local|com }
resource: "@ExampleWebBundle/Resources/config/routing.yml"
prefix: /
# admin urls
example_admin:
host: admin{enviroment}example.{domain}
requirements: { enviroment: .|.\w+., domain: local|com }
resource: "@ExampleAdminBundle/Resources/config/routing.yml"
prefix: /
如果我这样说:
# web urls
example_web:
host: en{enviroment}example.{domain}
requirements: { locale: en , enviroment: .|.\w+., domain: local|com }
resource: "@ExampleWebBundle/Resources/config/routing.yml"
prefix: /
工作正常,但是是多语言应用程序,我需要“子域”的多语言
答案 0 :(得分:1)
我的错误非常简单:P
host: "{_locale}.{enviroment}.example.{domain}"
缺少双引号,而且使用_locale保存在会话中以进行翻译感谢cheesemacfly
为什么不使用_local参数(symfony.com/doc/master/book/ ...)?
答案 1 :(得分:0)
我用这些信息解决了这个问题:Symfony2 Routing - route subdomains
但如果有人知道更好的答案,请告诉我:)