繁体   English   中英

Nginx 将动态 URL 从一条路径重定向到另一条路径

[英]Nginx redirect dynamic URLs one path to another

我想检查一个参数是否存在于 nginx 的 url 中,然后重写。 我怎样才能做到这一点?

URL 中的颜色是动态的

例如

  1. 如果 url 是http://website.com/lunch-box/xxxxxabc则将用户重定向到http://website.com/lunch-box/

  2. 如果 URL 是http://website.com/lunch-box/xxxxxabc/ABCD123不需要重定向。 需要按原样加载。

如果 URL 匹配,我想重定向。 xxxxxabc是动态文本。

nginx version: nginx/1.16.1

# rewrite direct children of /lunch-box but not grandchildren+
rewrite  ^(/lunch-box/)[^/]+/?$  $1  last;

遍历正则表达式^(/lunch-box/)[^/]+/?$

  • ^匹配字符串的开头( rewrite规则匹配路径,而不是完整的 URI)
  • (/lunch-box/)匹配文字文本/lunch-box/并将其保存为$1
  • [^/]+匹配一个或多个不是正斜杠的字符
  • /? 匹配零个或一个正斜杠
  • $匹配字符串的结尾

这将去掉我们保存为$1路径,但前提是该路径是直接子路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM