nginx默认重定向和自定义重定向

时间:2016-08-27 11:38:51

标签: regex redirect nginx routes

OS debian 8; 即时尝试编写nginx配置会是什么 1)将所有来自root domain.a的请求重定向到domain.b 2)将所有请求从domain.a / $ 1重定向到域domain.a / api / route / $ 1

我能够完成2)但是当我在浏览器中键入domain.a时,它会显示nginx默认页面。我希望将它转发到domain.b

server {

    listen 80;

    server_name domain.a; 

#should redirect all other requests to domain.b , but it not happens
    return 301 domain.b;

# correctly redirects from domain.a to domain.b api
    location ~/(.*)$ {
        return 301 https://domain.b/api/route/$1;
    }

}

1 个答案:

答案 0 :(得分:2)

您可以使用/语法隔离location = / URI。这可能对您有用:

location = / {
    return 301 https://domain.b/;
}
location / {
    return 301 https://domain.b/api/route$uri;
}

有关详细信息,请参阅this document