我想在Symfony 4应用程序中处理动态子域。
我正在寻找这样的配置:
我正在尝试此代码,但无法正常工作。它始终与HomeController匹配。 StoreController永不匹配。
当我尝试此配置时,“ domain.com”请求向我显示“欢迎使用nginx!”页。
class StoreController extends AbstractController
{
/**
* @Route("/", name="store_home", host="{store_name}.domain.test")
*/
public function storeHomepage()
{
return $this->render('store/index.html.twig');
}
}
class HomeController extends AbstractController
{
/**
* @Route("/", name="site_home")
*/
public function homePage()
{
return $this->render('site/home/index.html.twig');
}
}
这是我的nginx配置:
server {
listen 80;
server_name *.domain.test;
root /site/root/public;
location config bla bla bla;
}
答案 0 :(得分:1)
我正在尝试此代码,但无法正常工作。它总是与 HomeController。 StoreController永不匹配。
您正在使用注释路由,因此路由是按字母顺序加载的。
您的家庭控制器将首先尝试,并且它将匹配,因为您没有对其施加任何限制。
尝试显式设置主机。
10.0
当我尝试此配置时,“ domain.com”请求显示给我 “欢迎使用nginx!”页面。
我并不是真正的Nginx专家,但是我相信10
表示所有子域,但不包括主域。尝试使用class HomeController extends AbstractController
{
/**
* @Route("/", name="site_home", host="domain.test")
*/
public function homePage()
{
return $this->render('site/home/index.html.twig');
}
}
答案 1 :(得分:0)
在NGINX配置中,您可以指定多个server_name,例如: server_name example.org www.example.org;
那应该对您有用:
server {
listen 80;
server_name *.domain.test domain.test;
root /site/root/public;
location config bla bla bla;
}