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

Add slash to redirect if URL is not ending with slash in Nginx

我想在重定向 URL 中添加斜杠,因为如果 url 不以斜杠结尾,目标 (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/;
  }

}

尝试把 url 和 '/' 放在没有 '/' 的前面,它是否可以匹配第一个没有斜杠的并重定向它

试试这个

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;
  }