Nginx

Nginx - 配置指向同一個根的域和多個子域

  • August 8, 2018

我的願望是以這樣的方式配置我的網站:

  • company.fr
  • collaborator1.company.fr
  • collaborator2.company.fr

域和關聯的子域指向同一個目錄根。

在後台,我將使用 Symfony,顯示的內容將取決於所請求的域或子域。

為了實現這個目標,我想知道我是否可以擁有一個配置文件:

server {
   server_name company.fr collaborator1.company.fr collaborator2.company.fr;
   root /var/www/project/public;

   location / {
       # try to serve file directly, fallback to index.php
       try_files $uri /index.php$is_args$args;
   }

   location ~ ^/index\.php(/|$) {
       fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
       fastcgi_split_path_info ^(.+\.php)(/.*)$;
       include fastcgi_params;
   }

   location ~ \.php$ {
       return 404;
   }

   error_log /var/log/nginx/project_error.log;
   access_log /var/log/nginx/project_access.log;
}

或者如果我需要將其拆分為server具有類似配置的多個塊。

server_name如果您打算經常添加它們,您可以考慮使用包含所有可能子域的 a。這樣您就不必更改 nginx 配置來添加子域。

server_name *.company.fr;

這包括所有子域,但不包括company.fr.

server_name .company.fr;

這包括所有子域,並且確實包括company.fr. 使用 this 將從 this 為整個域中的任何名稱提供服務server

我也會這樣做,這是正確的。

server_name company.fr collaborator1.company.fr collaborator2.company.fr;

引用自:https://serverfault.com/questions/925370