基于子域的路由
可以使用 host
参数在 Symfony 中处理基于子域的路由。例如,_locale
参数可以用作子域值。
假设
locale: en
domain: somedomain.com
参数在 parameters.yml
配置文件中定义,路由为:
/**
* @Route(
* "/",
* name="homepage",
* host="{_locale}.{domain}",
* defaults={"_locale" = "%locale%", "domain" = "%domain%"},
* requirements={"_locale" = "%locale%|de|fr", "domain" = "%domain%"}
* )
* @Route(
* "/",
* name="homepage_default",
* defaults={"_locale" = "%locale%"}
* )
*/
从这一点来看,路由器可以处理诸如 http://de.somedomain.com
之类的 URI。第二个 @Route
注释可以用作默认语言环境和 void 子域 http://somedomain.com
的后备。