Nginx域名重定向地图

时间:2017-11-29 10:16:21

标签: nginx

我有一长串旧域名需要重定向到新域名的路径 - 即。 foo.com,bar.com应该被重定向到foobar.com/one和foobar.com/two(即我不能用新的URL重新定位新的URL)

我的尝试:

map $uri $newdomain {
    include redirects/domains.conf;
}

server {
    listen 80;

    server_name .......; # this handles all of the domains

    if ($newdomain) {
        return 301 $newdomain;
    }

    # the rest of the config - handling the correct new domain request
}

# in redirects/domains.conf
foo.com    foobar.com/one;
bar.com    foobar.com/two;
foo.com/bar    foobar.com/three;

Nginx成功重新加载,但它不会应用重定向。

我见过的所有地图示例都只有处理路径 - 即/ page-one到/ page-two

最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

我认为你需要在$ uri之前添加$ host变量

map $host/$uri $newdomain {
  include redirects/domains.conf;
}

不确定斜线。如果它不能使用它,请尝试不用