我希望将我的域(www.domain.com)的根目录重定向到其他域上的特定页面。
如果有人访问我的域(www.domain.com/something)上的子路径,那么它应该使用相同的$ request_uri重定向到另一个域。
我已经尝试了以下配置,但不知何故后者302总是触发..
server {
listen 80;
server_name server_name ~^(?<subdomain>.+)\.domain\.com$ domain.com;
location = / {
return 302 https://www.otherdomain.com/special/something;
}
return 302 https://www.otherdomain.com/$request_uri;
}
我的想法是,也许后者302应该位于一个位置块中,并且与/有一个独占匹配。但是我还没有设法自己解决这个问题。
答案 0 :(得分:1)
以下代码可以解决您的问题。 (假设您的nginx服务器名称是www.domain.com)。当您访问www.domain.com时,它将重定向到特定页面,如果您提及路径,则会将其重定向到 otherdomain 服务器上的该路径。
if ( $request_uri = "/" ){
return www.otherdomain.com/special/something;
break;
}
return www.otherdomain.com$request_uri;