Problem when using subfolder
Maxim Dounin
mdounin at mdounin.ru
Tue Dec 25 18:05:27 UTC 2012
Hello!
On Tue, Dec 25, 2012 at 08:52:32AM -0800, Bill Culp 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
<root> + <uri>. This allows to specify root at any level, and it
will work without surprises via configuration inheritance. I.e.
root /path/to;
location /foo/ {
# ...
}
and
location /foo/ {
root /path/to;
}
and even
location /foo/ {
...
location /foo/bar {
root /path/to;
}
}
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 <alias> + <uri-part-not-matched>. 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.
See here for docs:
http://nginx.org/r/root
http://nginx.org/r/alias
[...]
--
Maxim Dounin
http://nginx.com/support.html
More information about the nginx
mailing list