Nginx:将子域重定向到子文件夹

时间:2016-12-24 19:40:00

标签: url redirect nginx url-rewriting

我有以下网址结构:

domain.com/folder1/folder2/folder3/file.xy

文件夹1始终存在,以下内容完全灵活且不同。例如,也可能有:

domain.com/folder1/file.xy

所以基本上是

domain.com/folder1/*

我现在想要实现的是我能够打开子域名:

folder1.domain.com/*

最后有任何文件夹/文件,nginx自动知道子域等于第一个子文件夹,以便子域的请求等于

domain.com/folder1/*

我如何使用nginx实现这一目标?

感谢您的帮助!

编辑:只是为了澄清一点:" folder1"可以是任何东西。所以基本上任何子域都等于第一个子文件夹。

1 个答案:

答案 0 :(得分:0)

您可以尝试Regular expressions names

您的服务器块看起来像那样

server {
    listen       80;
    server_name   "~^(?<folder>.+)\.domain\.com$" ;
    location / {
        root   /srv/http/$folder;
    }
}