我们正在尝试在nginx端创建一个位置规则,但它没有按预期工作。以下是位置规则
location ~* ".*\.legalcontent\.html\?path=\/legal\/.*" {
return 200 'regex rule'; //Using this temporarily to confirm if rule is triggering
}
传入网址在下方,想要捕获( .legalcontent.html?path = / legal / )
https://www.mycompany.com/myapp/myproduct/mysubpage.legalcontent.html?path=/legal/somepage
在regex tool上单独测试正则表达式,似乎很好
但它不起作用,尝试了简单的上下文根来检查其他一切是否正常。
# Following simple rules works fine, but we want location to kick-in
# only for specific condition
location /myapp {
return 200 'myapp rule';
}
location /myapp/myproduct {
return 200 'myapp myproduct rule';
}
是否有办法处理此类输入网址的位置规则
答案 0 :(得分:1)
location
只会检查请求的路径。要检查参数,您必须使用$args
变量创建条件。
location ~* ".*\.legalcontent\.html$" {
if ($args ~* "^path=\/legal\/.*") {
return 200 'regex rule';
}
}