【发布时间】:2017-10-06 11:40:33
【问题描述】:
对于我正在处理的项目,我需要为每个使用该服务的客户使用动态子域。默认情况下 / 路由应该与 indexAction 匹配,但是遵循架构 slug.domain.com 的每个站点都应该使用 slugIndexAction。
此外,主机名也应该是动态的。 (在parameters.yml中定义)
我当前的设置如下所示:
slug_index:
path: /
host: "{slug}.{domain}"
defaults:
_controller: app.controller.frontend:slugIndexAction
domain: '%domain%'
requirements:
domain: '%domain%'
index:
path: /
defaults:
_controller: app.controller.frontend:indexAction
在这种情况下,它始终与索引路由匹配,即使我使用子域也是如此。我也尝试使用硬编码的 slug 和主机名,但这也不起作用。
当索引路由被删除时,我得到一个 ResourceNotFoundException / NotFoundHttpException
找不到“GET /”的路由
http://test.localhost:8000/
另外,是否可以在两种情况下使用相同的控制器,因为它们基本上是做同样的事情,slugs 用于修改 css 和标题。
【问题讨论】:
-
如何将
$request->getHost()解析成indexAction并去掉slug_index路由? -
@yceruto 这将是一个选项,我认为就最佳实践而言,使用路由会更好
标签: php symfony routing subdomain