一个具有多个域的Symfony应用程序

时间:2015-05-29 11:31:49

标签: php symfony

我有一个Symfony2应用程序,只在1台服务器上,但由于它是国际化的,我有多个域名(不是子域名)。 我想要实现的是,如果用户更改了他的语言,我将重定向到其他主机,并且用户应该已经登录到其他语言环境。

我有2个独立的域名,例如book.com和buch.de。 最初的问题是,用户登录到book.com,他将语言更改为德语,因此我想将他重定向到buch.de,但由于其他域名,用户将获得一个新的cookie,他将不会被记录再来一次。

1 个答案:

答案 0 :(得分:-1)

您需要在路线配置中使用host参数:

homepage:
    path:     /
    host:     "example.{national_domain}"
    defaults: { _controller: AcmeDemoBundle:Main:Homepage }

然后,您需要在每个URL生成中传递此national_domain参数。我认为你可以编写一些自动执行的监听器。

To"分享"域之间的cookie您需要一个将成为主域并进行单点登录的域。它将拥有所有需要的cookie,您将能够将用户从此主域重定向到具有一些GET参数的国家域,这些参数将包含所有需要的信息。

Symfony的单点登录实现之一,您可以找到here