我想阻止特定的网址,但是我无法执行此操作:
应阻止的网址example.com/clientarea/?dxx_g=dddd 但是以下网址仍然可以正常使用example.com/clientarea
我尝试了以下操作:
location ^~ /clientarea/ {
return 444;
}
但是,如果我这样做,它将阻止与/ clientarea的所有连接
希望您能为我提供帮助或为我提供建议
答案 0 :(得分:1)
location
和rewrite
语句测试规范化URI,其中不包括?
及其后的任何内容。
$request_uri
变量包含整个URI。使用if
或map
指令测试此变量。
例如:
if ($request_uri = /clientarea/?dxx_g=dddd) {
return 444;
}
您还可以使用正则表达式。有关更多信息,请参见this document。关于if
的使用,请参见this caution。
如果要阻止许多URI,则应考虑使用using a map
。