Symfony匹配到主机的路由不起作用

时间:2018-05-17 03:50:41

标签: php symfony symfony-2.8 symfony-routing

我需要在我的Symfony(2.8)项目中设置一个路径,以便在访问其中一个子域时加载。让我们说我的网站是在" example.com"并且需要为" admin.example.com"加载其管理员。 我知道在Symfony中我们可以在路由文件中使用host: admin.example.com(按照http://symfony.com/doc/2.8/routing/hostname_pattern.html中的说明)。 但是当我在任何routing.yml文件(app / config / routing.yml和AdminBundle / Resources / config / routing.yml)中添加它时,它不起作用。

我收到错误

  

找不到" GET / admin /"

的路线

如何在调用子域时加载不同的包?我在这里做错了什么?

应用程序/配置/ routing.yml中

app:
    resource: '@AppBundle/Resources/config/routing.yml'
    prefix:   /

admin:
    resource: "@AdminBundle/Resources/config/routing.yml"
    prefix:   /admin/

AdminBundle /资源/配置/ routing.yml中

admin_homepage:
    path:     /
    host:     admin.example.com
    defaults: { _controller: AdminBundle:Index:home }

1 个答案:

答案 0 :(得分:1)

我认为你应该像这样交换主机和前缀位置:

    app:
        resource: '@AppBundle/Resources/config/routing.yml'
        prefix:   /

    admin:
        resource: "@AdminBundle/Resources/config/routing.yml"
        host:     admin.example.com
    admin_homepage:
        path:     /admin
        defaults: { _controller: AdminBundle:Index:home }