如何使Nginx将所有请求重定向到我的子域到文件夹?
示例:
应该表明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
的sub2.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;
}
}
*上面的通配符方法未经测试。