Nginx - Meaning of the ~ (tilde) in the location block of the nginx.conf?

What is the meaning of the tilde after the location block in the nginx configuration?

for example

location ~ ^/download/(.*)$ {
  alias /home/website/files/$1;
}

What is the difference between with and without the "~" ?


Solution 1:

The tilde instructs nginx to perform a case-sensitive regular expression match, instead of a straight string comparison.

More details in the docs.