if ,-f and variables

Sean Allen sean at ardishealth.com
Wed Feb 27 20:34:08 MSK 2008


On Feb 27, 2008, at 11:42 AM, Roxis wrote:

> On Wednesday 27 February 2008, Sean Allen wrote:
>> this works:
>>
>> if ( -f /ah/sites/colon365.co.uk/public/.maintenance )
>> {
>>   set $maintenance 1;
>> }
>>
>> this doesn't:
>>
>> if ( -f $document_root/.maintenance )
>> {
>>   set $maintenance 1;
>> }
>>
>> two questions,
>>
>> 1. is there a way to make the latter work? some slight change or  
>> tweak?
>> 2. why doesn't it work? are variables not interpolated when doing  
>> file
>> system checks like -f?
>
> it should work.
> probably you have wrong root or root in wrong place.
> plz provide full config
>

One thing i just noticed. root is defined until after that snippet  
above.
is that an issue?


Config is spread across multiple files.

Here is the best bits:

/ah/sites/colon365.co.uk/conf/nginx.conf:

server
{
   listen 208.113.69.210;
   server_name colon365.co.uk;
   server_name www.colon365.co.uk;

   include /ah/sites/colon365.co.uk/conf/nginx/base;
   include /ah/sites/colon365.co.uk/conf/nginx/maintenance;
   include /ah/sites/colon365.co.uk/conf/nginx/fake-homepage;

   access_log /var/log/ah/colon365.co.uk.log combined;
   include /ah/conf/nginx/www-shared;
}


--

/ah/sites/colon365.co.uk/conf/nginx/base:

set $base /ah/sites/colon365.co.uk;

--

/ah/conf/nginx/www-shared:

include /ah/conf/nginx/root;
include /ah/conf/nginx/favicon;
include /ah/conf/nginx/standard-expire;
include /ah/conf/nginx/unsub-aliases;
include /ah/conf/nginx/hackersafe;
include /ah/conf/nginx/historical;
location /
{
   if ( !-e $request_filename )
   {
     expires -1;
     proxy_pass http://mod_perl;
     break;
   }
}


--

/ah/conf/nginx/root:

set $root $base/public;
root $root;


---








More information about the nginx mailing list