【问题标题】:Symfony match a route to host is not workingSymfony 匹配到主机的路由不起作用
【发布时间】:2018-05-17 03:50:41
【问题描述】:

我需要在我的 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/”的路由

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

app/config/routing.yml

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

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

AdminBundle/Resources/config/routing.yml

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

【问题讨论】:

  • 能否分享一下您的路由文件:AdminBundle/Resources/config/routing.yml

标签: php symfony symfony-2.8 symfony-routing


【解决方案1】:

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

应用程序: 资源:'@AppBundle/Resources/config/routing.yml' 字首: / 行政: 资源:“@AdminBundle/Resources/config/routing.yml” 主机:admin.example.com 管理员主页: 路径:/管理员 默认值:{ _controller: AdminBundle:Index:home }

【讨论】:

  • 有什么方法可以在 localhost 中进行测试吗?
猜你喜欢
  • 2012-03-10
  • 1970-01-01
  • 2019-02-22
  • 2018-12-24
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多