nginx将所有页面重定向301到另一个域/主页添加查询字符串

时间:2018-03-13 11:19:23

标签: linux redirect nginx web http-status-code-301

我请求帮助,因为我已经弄坏了头,我不知道如何解决问题......

我从一个域移动到另一个域,我希望所有链接301重定向到新域,但是到主页我想添加查询字符串,例如?from = example.com(仅限主页)。

https://example.com 301 - > https://newdomain.com/?from=example.com

所有其他链接只是重定向301,如https://newdomain.com $ request_uri;

我试过了,但它不起作用

    server {
    listen 443 ssl;
    server_name  example.com www.example.com;

    location = / {
    return 301 https://newdomain.com/?from=example.com;
    }

    return 301 https://newdomain.com$request_uri;
}

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

你的最后一次“返回301”正在推翻那些位置内的人。

server {
  listen 443 ssl;
  server_name  example.com www.example.com;

  location = / {
    return 301 https://newdomain.com/?from=example.com;
  }

  location / {
    return 301 https://newdomain.com$request_uri;
  }
}

答案 1 :(得分:0)

nginx -v nginx版本:nginx / 1.12.2

curl -I https://example.com/  

HTTP / 1.1 301永久移动
服务器:nginx
日期:2018年3月13日星期二,格林威治标准时间11:50:55 内容类型:text / html
内容长度:178
连接:保持活力
地点:https://newdomain.com/

像那样