On Tue, Dec 25, 2012 at 08:52:32AM -0800, Bill C. wrote:
ngnix docs state that the closest match will always be found in location phrases
So why is alias needed?
Normally (with root specified) nginx constructs file name as
+ . This allows to specify root at any level, and it
will work without surprises via configuration inheritance. I.e.
all will result in a “/foo/bar.txt” request being mapped into
a “/path/to/foo/bar.txt” file.
In contrast, alias replaces part of the URI matched by a location,
and file name will be + . This is
more fragile as things change as you move the alias directive to
another place, but allows to map URI to file system if some parts
of the URI needs to be modified, e.g. in configuration like
location /foo/ {
alias /path/to/baz/;
}
request to “/foo/bar.txt” will be mappend into
“/path/to/baz/bar.txt” file.
It is generally recommended to use “root”, except in situations
like thread starter has, i.e. when URI needs to be modified when
mapping to a file system.