除了一个子域外,重定向所有子域名?

时间:2015-02-27 20:12:51

标签: nginx httpserver

我有一个域example.com,并希望将所有子域重定向到http://example.com。 但是一个例外是后端子域,即api.example.com。

如何使用Nginx将其关闭?

1 个答案:

答案 0 :(得分:5)

您可以使用多个server的组合(包括带有通配符子域的组合)。以下是此配置的最小示例:

server {
    listen          80;
    server_name     api.example.com;
    add_header      Content-Type    text/plain;
    return  200     "api";
}
server {
    listen          80;
    server_name     *.example.com;
    return  301     $scheme://example.com$request_uri;
}
server {
    listen          80;
    server_name     example.com;
    add_header      Content-Type    text/plain;
    return  200     "main";
}

您可以在文档中详细了解如何配置服务器名称:http://nginx.org/en/docs/http/server_names.html