Question revarding referers

i have a question here:

i have a download website, and i prohibited hotlinking by using the
valid_referer parameter:

    location ~*

^.+.(jpg|jpeg|gif|css|png|js|ico|flv|txt|zip|mp3|rar|w3x)$ {
if ($invalid_referer)
{
#return 403;
rewrite / http://www.mysite.com/;
}
root /home/account/public_html;
expires 30d;
}

the problem is that if the extension is changed, for example JPG or JpG,
the location regex does not work. it’s case sensitive.

would this work ?

location ~* ^.+.(*)$ {

instead of
location ~*
^.+.(jpg|jpeg|gif|css|png|js|ico|flv|txt|zip|mp3|rar|w3x)$ {

so that all files are protected against hotlinking?

On Tuesday 29 April 2008, Stefanita Rares Dumitrescu wrote:

the problem is that if the extension is changed, for example JPG or JpG,
the location regex does not work. it’s case sensitive.

it should work, but isn’t 100% correct.
backslash before second dot is missing.

do you have any other locations before this one?

Roxis wrote:

            expires           30d;

do you have any other locations before this one?

Yes, this is the full location directive.

    location     / {
        root     /home/account/public_html;
        index    index.html index.htm index.php;
    }

    location ~*

^.+.(jpg|jpeg|gif|css|png|js|ico|flv|txt|zip|mp3|rar|w3x)$ {
if ($invalid_referer)
{
#return 403;
rewrite / http://www.domain.com/;
}
root /home/account/public_html;
expires 30d;
}