【问题标题】:Symfony 4 Dynamic Subdomain Routing and Nginx ConfigSymfony 4 动态子域路由和 Nginx 配置
【发布时间】:2020-08-16 10:22:12
【问题描述】:

我想在我的 Symfony 4 应用程序中处理动态子域。

我正在寻找这样的配置:

  • store1.domain.com => StoreController::index
  • store2.domain.com => StoreController::index
  • www.domain.com => HomeController::homePage
  • domain.com => HomeController::homePage 等等等等

我正在尝试此代码,但无法正常工作。它总是与 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;
}

【问题讨论】:

    标签: php symfony nginx symfony4


    【解决方案1】:

    我正在尝试此代码,但无法正常工作。它总是匹配 家庭控制器。 StoreController 从不匹配。

    您正在使用注释路由,因此路由按字母顺序加载。

    你家的控制器会先试用,它会匹配,因为你没有对它设置任何限制。

    尝试显式设置主机。

    class HomeController extends AbstractController
    {
        /**
         * @Route("/", name="site_home", host="domain.test")
         */
        public function homePage()
        {
            return $this->render('site/home/index.html.twig');
        }
    }
    

    当我尝试这个配置“domain.com”请求显示给我 “欢迎使用 Nginx!”页面。

    我不是真正的 nginx 专家,但我相信server_name *.domain.test; 表示所有子域,但不包括主域。试试server_name .domain.test;

    【讨论】:

    • 为我工作。谢谢。
    【解决方案2】:

    在 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;
    }
    

    http://nginx.org/en/docs/http/server_names.html

    【讨论】:

      猜你喜欢
      • 2014-10-03
      • 1970-01-01
      • 1970-01-01
      • 2018-07-22
      • 2021-07-01
      • 1970-01-01
      • 2019-01-21
      • 1970-01-01
      相关资源
      最近更新 更多