NGINX和Yii2会在子目录中添加另一个项目

通过使用NGINX和php-fpm,我想在像这样的子目录下添加另一个Yii2高级项目

www.xyz.net - frontend project A,root at /var/www/html  
www.xyz.net/admin - backend project A,root at /var/www/html   
www.xyz.net/old - frontend project B,root at /var/www/old  
www.xyz.net/old/admin - backend project B,root at /var/www/old 

以下是我用于1个项目的nginx配置 如何修改它以便在子目录中添加另一个Yii2高级项目?

server {
  server_name www.xyz.net;
  listen 80;
  set $base_root /var/www/html;
  root $base_root;
  charset utf-8;
  index index.php index.html index.htm;
  client_max_body_size 128M;

  location / {
    root $base_root/frontend/web;
    try_files $uri $uri/ /frontend/web/index.php$is_args$args;
    location ~ ^/assets/.+\.php(/|$) {
      deny all;
    }
  }

  location /admin {
    alias $base_root/backend/web/;
    location = /admin/ {
      return 301 /admin;
    }

    location = /admin {
      try_files $uri /backend/web/index.php$is_args$args;
    }  

    try_files $uri $uri/ /backend/web/index.php$is_args$args;
    location ~ ^/admin/assets/.+\.php(/|$) {
      deny all;
    }
  }

  location ~ ^/.+\.php(/|$) {
    rewrite (?!^/((frontend|backend)/web|admin))^ /frontend/web$uri break;
    rewrite (?!^/backend/web)^/admin(/.+)$ /backend/web$1 break;
    fastcgi_pass php:9000;
    fastcgi_split_path_info ^(.+\.php)(.*)$;
    include /etc/nginx/fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    try_files $fastcgi_script_name =404;
  }

  location ~ /\. {
    deny all;
  }
}  
xy2100789 回答:NGINX和Yii2会在子目录中添加另一个项目

您可以将多个服务器名称添加到您的配置中:

db.machines.aggregate([
  {
    $lookup: {
      from: "works",let: {
        "nj": "$NextJobs"
      },pipeline: [
        {
          $match: {
            $expr: {
              $or: [
                {
                  $in: [
                    "$Lote","$$nj"
                  ]
                },{
                  $in: [
                    "$Flags.STS","$$nj"
                  ]
                }
              ]
            }
          }
        }
      ],as: "linkedWorks"
    }
  }
])

并将www.xyz.admin.net和www.xyz.net添加到您的/ etc / hosts中:

server {
      listen 80;
      server_name www.xyz.net;
      set $base_root /var/www/html;
      root $base_root;


      ...
    }


    server {
      listen 80;
      server_name www.xyz.admin.net/admin;
      set $base_root /var/www/html/admin;
      root $base_root;
      ...
    }
本文链接:https://www.f2er.com/3107504.html

大家都在问