【问题标题】:Symfony2 Domain separated bundlesSymfony2 域分隔包
【发布时间】:2014-01-20 15:55:38
【问题描述】:

我想知道是否有办法为我的 symfony2 应用程序中的每个捆绑包使用域名,例如

WebFooBundle => www.foobundle.com
WebBarBundle => www.barbundle.com

我的路线例如 localhost/foo/localhost/bar/ 所以 www.foobundle.com 需要调用 /foo 和 www.barbundle.com 指向 /bar

如果可能的话,我想使用这种方法,因为我不想为每个页面创建一个新的 Symfony2 结构:S 我想要一个在 Symfony2 中制作的带有捆绑包的整个应用程序(这就是 Symfony2 的重点!!)

我的app/config/routing.yml上有这个

web_foo:
    host: "foo.com"
    prefix:   /
    resource: "@WebFooBundle/Resources/config/routing.yml"
web_bar:
    host: "bar.com"
    prefix:   /
    resource: "@WebBarBundle/Resources/config/routing.yml"

所以现在,当我进入 foo.com 时,WebFooBundle 的主页会完美加载,但是如果我转到 www.foo.com,我会在 PROD 上看到一个白页,在 DEV 上我会得到No route found for "GET /"

如何处理路由中的 www.domain.com 和 domain.com?

另外,还有一个问题……

如果我在 PROD 上转到 foo.com/faq,我会收到 404 错误,在 DEV 上它会显示我的常见问题解答页面...

怎么了!!我只想在同一个文件夹中,只有一个 symfony2 应用程序,其中多个捆绑包绑定到多个域(每个捆绑包一个域):(

【问题讨论】:

    标签: php apache symfony routes cross-domain


    【解决方案1】:

    我认为你可以通过使用host来实现这一点

    mobile_homepage:
        path:     /
        host:     m.example.com
        defaults: { _controller: AcmeDemoBundle:Main:mobileHomepage }
    
    homepage:
        path:     /
        defaults: { _controller: AcmeDemoBundle:Main:homepage }
    

    DOC

    【讨论】:

    • 感谢您的回答,但是,我需要在 Apache 中配置什么?因为它现在指向 /web/app.php 这是默认值......但正如我所说,我需要使用 /web/app.php/mysite 并仅与 www.mydomain.com 一起使用
    • 您需要为基本域配置别名(httpd.apache.org/docs/2.4/vhosts/name-based.html)或配置 VirtualHost(httpd.apache.org/docs/current/vhosts/examples.html),但 VirtualHost 不是一个好主意。如果一个 symfony “实例”有多个域,其中包含多个捆绑包,则为它创建别名
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-25
    • 1970-01-01
    • 2012-12-28
    • 2014-10-25
    相关资源
    最近更新 更多