如何使Nginx重定向子域到文件夹?

问题描述 投票:0回答:1

如何使Nginx将所有请求重定向到我的子域到文件夹?

示例:

http://sub2.sub1.domain.com/

应该表明sub2是sub1.domain.com/sub2中的文件夹

我该怎么做?

主要目的是向用户隐藏文件夹。因此,它应继续为http://sub2.sub1.domain.com/

我希望在sub2中使用通配符。

更新:

我尝试过:

server {
    listen 80;
    listen [::]:80;

    server_name ~^(.*)\.sis\..*$;

location / {
    proxy_pass http://sis.mydomain.com/$1$request_uri;
    }
}

但是它也没有用,有什么错误吗?

nginx proxy reverse-proxy reverse
1个回答
0
投票

nginxsub2.sub1.domain.com指令中,您输入了:

server {
    listen 80;
    server_name sub2.sub1.domain.com;

location / {
    proxy_pass https://sub1.domain.com/sub2;
    }
}

因此,所有到sub2.sub1.domain.com的请求都将被代理到→sub1.domain.com/sub2(同时被屏蔽为sub2.sub1.domain.com);也不需要重定向或以这种方式重写。

通配符方法

server {
    listen 80;
    server_name ~^(.*)\.sub1\.domain\.com;

location / {
    proxy_pass https://sub1.domain.com/$1;
    }
}

*上面的通配符方法未经测试。

© www.soinside.com 2019 - 2024. All rights reserved.