如何在Nginx中将所有URL重定向到HTTPS,除了这个

时间:2017-08-23 01:18:03

标签: ssl redirect nginx

我已经有301重定向工作,但是我需要保留一个url模式,所以它由http提供。现在我用这个:

server {
  listen 80 default;
  server_name example.com www.example.com;
  return 301 https://www.example.com$request_uri;
}

我在回归之前试过这个:

 location /wp-json {
   return 301 http://www.example.com$request_uri;
}

但它没有帮助。我需要以http://www.example.com/wp-json/ *开头的任何网址,以便不通过HTTPS重定向。

1 个答案:

答案 0 :(得分:0)

试试这个:

server {
    listen 80 default;
    server_name example.com www.example.com;

    # Redirect to HTTPS, unless it begins with /wp-json/
    if ($uri !~* "^/wp-json/") {
        return 301 https://www.example.com$request_uri;
    }
}