HTTP Referer Module Support Variables? And pcre question...

Maxim Dounin mdounin at
Fri Aug 7 02:25:15 MSD 2009


On Mon, Aug 03, 2009 at 01:45:58PM -0500, Resicow wrote:

> Hello All,
> Is it safe to use variables with the http_referer module?
> I'd like to specify the valid_referers via set variables, instead of  
> hard-coding them into the configuration.
> So something like:
> valid_referers  
> <> none  
> blocked $domain1 $domain2;

No, valid_referers does not support variables.

Directives that support variables contain something like "you may 
use variables" in their documentation.

> Also, is it possible to somehow get the top level folder using rewrite  
> and pcre?
> So for example, if the URI is this:  
> /folder1/folder2/lots_of_other_folders/file.txt
> How would it be possible to set a variable equal to "folder1"? Everytime  
> I try, it never quite works.

You may either use captures in location directive:

    location ^/([^/]+) {
        set $folder $1;

or if:

    set $folder "";
    if ($uri ~ "^/([^/]+)") {
        set $folder $1;

Note that if's are generally evil, search mailing list archives for 

Maxim Dounin

More information about the nginx mailing list