基於子域的路由
可以使用 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
的後備。