nginx利用location匹配url中?号后的参数

nginx利用location匹配url中?号后的参数

http://www.baidu.com/index.php?a=1&b=2
location能匹配到url,但是匹配不到url后面的参数,例如:?a=1&b=2

需求:

访问地址:
https://www.aposoft.com/all-apowersoft/?from=edm

开发要求可不可以只是这个完整地址
https://www.aposoft.com/all-apowersoft/?from=edm  跳转到404,然后https://www.aporsoft.com/all-apowersoft  这个页面能正常访问
https://www.aposoft.com/all-apowersoft/?from=abc  其它只要不是edm的参数值都可以正常访问

调试配置:

location / {
       if ($request_uri ~* ^/all-apowersoft/\?from\=edm$) {
       return 404;
}

测试:

http://dev-aposoft-com.aoscdn.com/all-aposoft/?from=edm   报404
http://dev-aposoft-com.aoscdn.com/all-aposoft/?from=ed		报200
http://dev-aposoft-com.aoscdn.com/all-aposoft/?from=abc    报200

版权声明:本文为zhongliang415原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。