[英]Nginx redirect dynamic URLs one path to another
我想检查一个参数是否存在于 nginx 的 url 中,然后重写。 我怎样才能做到这一点?
URL 中的颜色是动态的
例如
如果 url 是http://website.com/lunch-box/xxxxxabc
则将用户重定向到http://website.com/lunch-box/
。
如果 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.