nginx catchall子域不映射到特定的映射

时间:2018-04-26 08:26:10

标签: nginx

我对Nginx有点问题。 我想使用一个通配符子域,即everythinghere.domain.com重定向到特定的地图。

这是我当前的Nginx设置(我用domain.com替换了域名):

server_name  domain.com www.domain.com 1.domain.com workspace.domain.com *.domain.com;

    root   /var/www/domain.com/web/;

    if ($http_host = "1.domain.com") {
        rewrite ^(?!/(1|stats|error|\.well-known/acme-challenge))/(.*)$ /1/$2 last;
    }
    if ($http_host = "workspace.domain.com") {
        rewrite ^(?!/(1|stats|error|\.well-known/acme-challenge))/(.*)$ /1/$2 last;
    }
    if ($http_host = "*.domain.com") {
        rewrite ^(?!/(1|stats|error|\.well-known/acme-challenge))/(.*)$ /1/$2 redirect;
    }

以上1.domain.com和workspace.domain.com正确地重定向(映射)到map / 1 /。通配符似乎有效,但它不会映射到/ 1 /但只映射到根映射。

例如:555.domain.com映射到root而不是/ 1 /.

我认为问题出现在最后一个问题中,如果'与*。

一致

任何解决方案?

提前致谢!

0 个答案:

没有答案