Root not recognized

ok, well better put on root is recognized, a second isnt.

have this setup ( lots of snipping here… )

root /some/path;

location /
{
if ( -f /tmp/.maintenance )
{
set $site_maintenance 1;
}

if ( $site_maintenance )
{
root /maintenance/path;
rewrite (.*) /maintenance/index.html;
}
}

problem is… the rewrite works just fine but its trying to serve

/some/path/maintenance/index.html
instead of
/maintenance/path/maintenance/index.html

any idea why?

Try using the $document_root variable

rewrite (.*) $document_root/maintenance/index.html;

On Wed, Dec 31, 2008 at 10:56 PM, Sean A.

That doesn’t work.

I get a 404 for that.

I figured out why the below didnt work for me.

I left out one key point about root /some/path;

We are actually doing:

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

because conf files are shared by multiple sites. this way each site
set $base
and it gets reused in different places… to make the below work, with
that
i need to change

if ( $site_maintenance )
{
root /maintenance/path;
rewrite (.*) /maintenance/index.html;
}

to

if ( $site_maintenance )
{
set $root /maintenance/path;
rewrite (.*) /maintenance/index.html
}

which is TOTALLY not how I expected variables to work.
is this documented somewhere?

that if you set root with a variable, to later change root you have
to change the value of the variable and that using root will have no
effect?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs