如何在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。我怎么能这样做?
提前致谢。
答案 0 :(得分:2)
您可以只将子域添加到服务器名称,在这种情况下,它只能用作域,但用户不会被重定向,地址栏将显示子域:
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;
...
}
}
答案 1 :(得分:1)
我认为您不需要 - 您可以添加另一个服务器部分,如:
server {
server_name app1.domain.com;
location / {
<uwsgi as before>
}
}
而不是location /app1
后跟重定向。希望有所帮助。