如何在nginx中使用斜杠配置重定向到url?

帕维尔·瑞兹纳尔(Pawel Ryznar)

我想将不带斜杠的URL重定向到带斜杠的路径。所以/ some-url/ some-url /

其余的网址,例如

  • /some-url.xml
  • / some-url?
  • / some-url?q = v
  • / some-url /

应该保持不重定向。

我发现这篇文章https://www.ateamsystems.com/tech-blog/nginx-add-trailing-slash-with-301-redirect-without-if-statements/,作者建议使用以下规则:

location ~ ^([^.\?]*[^/])$ {
   try_files $uri @addslash;
}

location @addslash {
    return 301 $uri/;
}

不幸的是,这并没有真正起作用。因为url / some-url?q = v被重定向到/ some-url /

您能否建议如何更改正则表达式以使其正常工作?

帕维尔·瑞兹纳尔(Pawel Ryznar)

这应该可以解决问题:

location / {
    if ($request_uri ~ ^([^.\?]*[^/])$) {
        return 301 $1/;
    }

    try_files $uri $uri/ /index.php$is_args$args;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 .htaccess 中使用正斜杠重定向 url?

如何配置重定向到url而不在nginx中添加斜杠?

如何在301中使用Slug查找将旧URL重定向到新URL?

我应该如何在nginx中使用参数重定向url?

如何在视图中使用 uuid 作为 url slug 正确重定向到新模板

如何在301重定向中使用RewriteRule URL

如何在Apache重定向中使用?params处理url?

如何在 .htaccess 中使用问号重定向 url?

如何在NGINX中重定向URL

重定向时如何在源URL上排除斜杠?

如何在删除斜杠的同时使用动态生成的URL重定向301?

使用Angular2,如何在登录重定向之前重定向到先前的URL

如何将带有斜杠的URL重定向到没有斜杠的相应URL?

Nginx:如何在以下配置中将每个http:port请求重定向到HTTPS:port?

如何將帶有斜杠的 URL 重定向到非斜杠變體(有例外)?

不带斜杠的网址需要重定向到带斜杠的URL

如何在ModelAndView中使用重定向

如何在Docker中使用重定向

如何在 Flask 中使用重定向?

在 Nginx 中重定向到新页面时如何删除尾部斜杠

用于重定向URL的Nginx配置

如何在Nginx中重定向单个URL?

如何在Azure DNS区域中配置URL重定向

如何重定向到URL

如何在iframe中使用postmessage将用户重定向到主文档上的页面

如何在Vue中使用帖子数据重定向到另一个页面?

如何在 Ionic 2 中使用 Barcode-Scanner 重定向到其他视图

如何在Codeigniter中使用数据重定向到同一页面

如何在我的HTML页面中使用javascript函数重定向到除法(<div>)