NGINX配置:如何将URL数组重定向到主页

时间:2016-02-02 21:09:20

标签: redirect nginx configuration config

我想要一系列网址,让我们说['/about','/supported-software', '/the-team', ...]只需重定向到/

我是否需要编写多个location { }块?

我是NGINX配置的新手,所以非常感谢任何指导!

1 个答案:

答案 0 :(得分:1)

如果数组条目完全匹配,那么以下位置应该可以提供最佳性能:

location = /about { return 301 $scheme://$host; }
location = /supported-software { return 301 $scheme://$host; }
location = /the-team { return 301 $scheme://$host; }
# ... or put these in an included file

如果它们不是完全匹配,地图可能会更好:

map $uri $send_home {
    ~^/about/?  1;
    ~^/supported-software/? 1;
    ~^/the-team/?   1;
    # ... or put these in an included file
}

server {
    # ...

    if ($send_home) {
        return 301 $scheme://$host;
    }

    # ...
}

地图可以提供更灵活的重定向,例如:

/about
/about/
/about/stuff