加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

nginx – $request_uri后缀的变量,与位置块前缀不匹配

发布时间:2020-05-22 23:08:42 所属栏目:Nginx 来源:互联网
导读:假设我想将/ images /目录移动到图像主机,以便http://example.org/images/foo.png之前的内容变为http://images.example.org/foo.png.如果我这样做:location / images / {return 301 http://images.example.org $request_uri;

假设我想将/ images /目录移动到图像主机,以便http://example.org/images/foo.png之前的内容变为http://images.example.org/foo.png.

如果我这样做:location / images / {return 301 http://images.example.org $request_uri;,结果是重定向到http://images.example.org/images/foo.png这不是我想要的.

An older question有一个建议使用正则表达式位置的答案,但这似乎是一种矫枉过正.

在没有使用正则表达式的情况下,是否真的没有办法引用$request_uri并将位置前缀切断?似乎是一个明显的特征.

最佳答案 我不认为我们可以完全消除此用例的正则表达式.但是,这是一个替代解决方案,不使用正则表达式位置,但在位置块内使用正则表达式…

location /images/ {
  rewrite "^/images/?(.*)$" "/$1";
  return 301 http://images.example.org$uri;
}

请注意$uri不包含$args.但是,$request_uri确实如此.在这个替代解决方案中,我们在处理之前使用正则表达式修改$uri.但是,$request_uri无法修改.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读