【问题标题】:Add slash to redirect if URL is not ending with slash in Nginx如果 URL 在 Nginx 中不以斜杠结尾,则添加斜杠以重定向
【发布时间】:2017-09-14 07:48:17
【问题描述】:

我想在重定向 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 与 '/' 放在没有 '/' @StephanSchmidt 之前,它可能会匹配 first 而没有斜线并重定向它
  • 你能添加这个作为答案吗?
  • 添加为答案@StephanSchmidt

标签: redirect nginx trailing-slash


【解决方案1】:

尝试将 url 与 '/' 放在没有 '/' 之前,它可能会匹配 first 而没有斜线并重定向它

试试这个

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-09
    相关资源
    最近更新 更多