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