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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于nginx利用location匹配url中?号后的参数的主要内容,如果未能解决你的问题,请参考以下文章

关于NGINX利用location的匹配规则分流和利用server的server_name分流

nginx 转发配置

Nginx-location模块

Nginx Location

Nginx Location 正则表达式

Nginx使用Location匹配URL进行伪静态