如果URL未在Nginx中以斜杠结尾,请添加斜杠以重定向

时间:2017-09-14 07:48:18

标签: redirect nginx trailing-slash

我想在重定向网址中添加斜杠,因为如果网址没有以斜杠结尾,目标(Wordpress)也会重定向。这将导致两次重定向。

我当前的配置似乎不起作用

server {
  listen 80;
  server_name old.domain.com;

  location ~ ^(.*)[/]$ {
    return 302 https://new.domain.com/$request_uri;
  }

  location ~ ^(.*)[^/]$ {
    return 302 https://new.domain.com/$request_uri/;
  }

}

1 个答案:

答案 0 :(得分:2)

尝试将网址添加到' /'在没有' /'之前,它可能与没有斜线的第一个匹配并重定向它

试试这个

server {
  listen 80;
  server_name old.domain.com;

  location ~ ^(.*)[/]$ {
    return 302 https://new.domain.com/$request_uri/;
  }

  location ~ ^(.*)[^/]$ {
    return 302 https://new.domain.com/$request_uri;
  }