从两个不同的域为同一个 Symfony2 应用程序提供服务


Serving the same Symfony2 application from two different domains

我们有一个Symfony2应用程序,我们希望从两个不同的域提供服务。以下是我们希望它的工作方式;

假设我们的服务器上设置了两个域和两个虚拟主机(我们正在使用 apache) - 为了便于讨论,我们称它们为 www.first.com 和 www.second.com。

假设 Symfony2 托管在 vhost 下 www.first.com 并且一切正常。

例如,当有人浏览到 www.second.com/login 时,我们希望提供可以在 www.first.com/second/login 找到的页面,因此任何对 www.second.com/*的请求都会提供Symfony在URL www.first.com/second/*时生成的页面 - 但是,从用户的角度来看,一切都应该看起来好像来自 www.second.com - 包括cookie和网络资产。

只需在同一个Symfony应用程序/前端控制器/资产上重定向两个域。

客户端浏览器将看到所有主机的两个不同主机和单独的cookie/资产

我使用此 apache 虚拟主机配置来获得相同的结果

<VirtualHost *:80>
    DocumentRoot [your path to symfony web folder]
    <Directory [your path to symfony web folder]>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>   
    ServerAdmin info@first.com
    ServerName www.first.com
    ServerAlias www.second.com 
    ErrorLog  /var/log/apache2/[your app name]_error.log
    CustomLog /var/log/apache2/[your app name]_access.log combined
</VirtualHost>

将两个域指向您的symfony服务器的同一IP