我有一个网站,任何人都可以使用我们的子域创建自己的网站,他们也可以使用自己的自定义域。
user_site:
resource: "routing_user_site.yml"
host: "{subdomain}.{domain}"
requirements:
domain: %domain%
defaults:
domain: %domain%
# Our Site
site:
host: %domain%
resource: "routing_our_site.yml"
prefix: /
上述路由工作正常,但我不确定如何重定向其他域,这不是我们的主域路由route_user_site.yml文件
我添加了这个,但没有用
custom_site:
host: "{domain}"
resource: "routing_user_site.yml"
prefix: /
requirements:
domain: !(%domain%)
答案 0 :(得分:1)
在Symfony2中,路线的顺序非常重要。如果一条路线不匹配,那么框架将测试下一条路线。
这意味着,在您的情况下,您不必执行!(%domain%)
,而只是放置规则而无需捕获所有其他路径。
user_site:
[...]
site:
[...]
custom_site:
resource: "routing_user_site.yml"
prefix: /
如果 user_site 或 site 未收到请求,则 custom_site 会抓取该请求;并且作为 user_site 和网站建议, custom_site 将匹配用户自己的域(或者至少是与您的%域%不同的域)