我知道可以按主机过滤路由,如下所示:
irc_backend.report.stacking_issue:
path: /reports/stacking-issues
host: backend.domain.com
defaults: { _controller: IRCBackendBundle:Reports/Product/StackingIssueReport:index }是否可以更改此配置以匹配多个域?例如:
irc_backend.report.stacking_issue:
path: /reports/stacking-issues
host: backend.domain.com|dev.backend.domain.com
defaults: { _controller: IRCBackendBundle:Reports/Product/StackingIssueReport:index }我尽量避免为每个页面设置2条路由。
发布于 2014-08-09 04:42:45
您可以在具有要求的主机名中尝试占位符(即.Symfony Documentation)
irc_backend.report.stacking_issue:
path: /reports/stacking-issues
host: "{mydomaines}"
defaults: { _controller: IRCBackendBundle:Reports/Product/StackingIssueReport:index }
requirements:
mydomaines: backend.domain.com|dev.backend.domain.com发布于 2014-08-09 04:44:15
如果你阅读了Symfony documentation,你就会知道你需要使用占位符。对于您的代码,它将是:
irc_backend.report.stacking_issue:
path: /reports/stacking-issues
host: "{subdomain}.domain.com"
defaults:
_controller: IRCBackendBundle:Reports/Product/StackingIssueReport:index
subdomain: backend
requirements:
subdomain: backend|dev.backend我希望它能对你有所帮助!
编辑:
如果您希望您的默认子域为当前子域,您可以使用如下参数:
irc_backend.report.stacking_issue:
path: /reports/stacking-issues
host: "{subdomain}.domain.com"
defaults:
_controller: IRCBackendBundle:Reports/Product/StackingIssueReport:index
subdomain: "%subdomain%"
requirements:
subdomain: backend|dev.backend然后,您将能够使用下面这行代码在Event listener中定义此参数:
$container->setParameter("subdomain", $your_subdomain);P-S :不要忘记将服务容器添加到侦听器的依赖项中
https://stackoverflow.com/questions/25211715
复制相似问题