I want to block a specific URL but I am not able to do this.
The URL that should be blocked is example.com/clientarea/?dxx_g=dddd
.
But the following url should still work - example.com/clientarea
.
I tried the following:
location ^~ /clientarea/ {
return 444;
}
But if I do this it will block all connections to /clientarea.
I hope you can help me or advise me how to make this possible.
The location
and rewrite
statements test a normalized URI which does not include the ?
and anything following it.
The $request_uri
variable contains the entire URI. Test this variable using an if
or map
directive.
For example:
if ($request_uri = /clientarea/?dxx_g=dddd) {
return 444;
}
You can also use regular expressions. See this document for more. See this caution on the use of if
.
If you have a number of URIs to block, you should consider using a map
instead.