[英]Use wildcards in Symfony routing configuration for subdomain and tld
我尝试设置 Symfony 路由。 我正在使用 Symfony 2.7。 我有两个包在不同的子域下工作。 域名可以是通配符,而 tld 可以是多个。
这是我当前的配置文件:
company_api:
resource: "@ApiBundle/Controller/"
type: annotation
prefix: /
company_core:
resource: "@CoreBundle/Controller/"
type: annotation
prefix: /
我希望第一个包只在子域“api”下工作,域可以是通配符,对于 TLD,我想指定一些像 (nl|eu)。
已编辑
company_core:
resource: "@ApiBundle/Controller/"
type: annotation
prefix: /
host: www.mydomainname.{tld}
defaults:
tld: nl
requirements:
tld: "nl|eu"
我已将配置升级到此设置。 并且 tld 工作正常。 只有域名“mydomainname”才能有通配符吗? 这很容易,因为 dev 和 producten 服务器使用不同的域名。
这是我在 3.1 应用程序中使用的示例,其中我使用占位符作为顶级域的占位符,该域因环境而异——
app:
resource: "@AppBundle/Controller/"
type: annotation
host: www.example.{tld}
defaults:
tld: "%tld%"
requirements:
tld: "%tld%"
我不明白为什么以下内容不适用于您的 API 路由,因为根据文档,这都应该与 2.7 兼容:
company_api:
resource: "@ApiBundle/Controller/"
type: annotation
host: api.{domain}.{tld}
defaults:
domain: yourdefaultdomain
tld: nl
requirements:
tld: "nl|eu"
我记得在开发过程中,路由配置似乎被积极缓存,所以一如既往,在进行任何路由更改后一定要清除缓存。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.