Symfony 2-can和x27;t为主机配置应用程序
我在为symfony应用程序设置主机时遇到问题。现在我们有一个域,让我们确定这是所有四种语言的domain.pl。因此,YML中的规则是:Symfony 2-can和x27;t为主机配置应用程序,symfony,routing,resources,host,Symfony,Routing,Resources,Host,我在为symfony应用程序设置主机时遇到问题。现在我们有一个域,让我们确定这是所有四种语言的domain.pl。因此,YML中的规则是: front_common: resource: "@FrontCommonBundle/Resources/config/routing.yml" prefix: /{_locale} defaults: { _locale: pl } requirements: _locale: "[a-z]{2}"
front_common:
resource: "@FrontCommonBundle/Resources/config/routing.yml"
prefix: /{_locale}
defaults: { _locale: pl }
requirements:
_locale: "[a-z]{2}"
front_common_locale:
path: /
defaults:
_controller: FrameworkBundle:Redirect:urlRedirect
_locale: pl
path: /pl
permanent: true
因此,如果有人进入domain.pl,他/她将被重定向到domain.pl/pl。其他页面是domain.pl/en、domain.pl/de等等
现在我们得到了另一个域,比如domain.eu,它应该只显示英文版本,所以domain.eu显示英文,其他域仍然重定向到/pl/de等。我的路由现在看起来是这样的:
front_common_eu:
host: domain.eu
resource: "@FrontCommonBundle/Resources/config/routing.yml"
prefix: /
defaults: { _locale: en }
front_common:
resource: "@FrontCommonBundle/Resources/config/routing.yml"
prefix: /{_locale}
defaults: { _locale: pl }
requirements:
_locale: "[a-z]{2}"
front_common_locale:
path: /
defaults:
_controller: FrameworkBundle:Redirect:urlRedirect
_locale: pl
path: /pl
permanent: true
当我进入domain.pl时,它工作正常,并将我重定向到/pl。但当我进入domain.eu时,它工作相同,它将我重定向到/pl。如果我从公共语言环境路由中删除,我得到了404。救命啊,我做错什么了
注:根据这一点:它应该工作…用以下内容替换
前面的\u locale
:
_locale: pl|en
谢谢你的回答,但是没有用。我发现一个资源不能包含两次。我还发现,bundle:是我关于如何隐藏默认语言的问题的答案,所以这个主题就解决了。