Configuration 在nginx中将位置重写为子域

Configuration 在nginx中将位置重写为子域,configuration,nginx,subdomain,rewrite,uwsgi,Configuration,Nginx,Subdomain,Rewrite,Uwsgi,如何在NGINX中将子域重写为应用程序 我的配置是 server { listen 80; server_name domain.com www.domain.com; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:9001; uwsgi_param UWSGI_PYHOME PATH;

如何在NGINX中将子域重写为应用程序

我的配置是

server {
    listen       80;
    server_name domain.com www.domain.com;

    location / {
            include        uwsgi_params;
            uwsgi_pass     127.0.0.1:9001;
            uwsgi_param    UWSGI_PYHOME PATH;
            uwsgi_param    UWSGI_SCRIPT wsgi;
            uwsgi_param    UWSGI_CHDIR PATH;
    }

    location /app1 {
            include        uwsgi_params;
            uwsgi_pass     127.0.0.1:9001;
            uwsgi_param    UWSGI_PYHOME PATH2;
            uwsgi_param    UWSGI_SCRIPT wsgi2;
            uwsgi_param    UWSGI_CHDIR PATH2;
            uwsgi_modifier1 30;
    }
}
我想在访问app1.domain.com时重新写入domain.com/app1。我该怎么做


提前感谢。

我认为您不需要-您可以添加另一个服务器部分,如:

server {
  server_name app1.domain.com;
  location / {
    <uwsgi as before>
  }
}
服务器{
服务器名称app1.domain.com;
地点/{
}
}

而不是一个
位置/app1
,后跟一个重定向。希望对您有所帮助。

您可以将子域添加到服务器名称中,在这种情况下,它将仅作为域使用,但不会重定向用户,并且地址栏将显示子域:

server {
    listen       80;
    server_name domain.com www.domain.com app1.domain.com;

    location / {
            include        uwsgi_params;
            ...
    }
}
或者,您可以为子域创建重定向到该域的特定服务器:

server {
    listen       80;
    server_name app1.domain.com;
    rewrite ^ http://domain.com$request_uri? permanent;
}

server {
    listen       80;
    server_name domain.com www.domain.com;

    location / {
        include        uwsgi_params;
        ...
    }
}