文章来源:《nginx从入门到精通》html
nginx指定文件路径的两种方式,root和alias;主要区别在于nginx如何解释location后的URI,以不一样的方式将请求映射到服务器文件。nginx
1. rootweb
语法:root path服务器
默认值:root htmlapp
配置段:http、server、location 、ifserver
例:htm
location ~^/test/ {web服务器
root /data/test/www.test.com;it
autoindex on;io
auth_basic "Restricted";
auth_basic_user_file passwd/test;
}
若请求URI为/test/httplogs/www.test.com-access.log时,web服务器会返回服务器上的/data/test/www.test.com/test/httplogs/www.test.com-access.log的文件
备注:root会根据完整的URI请求俩映射,就是/path/uri
则实例中请求映射为path/test/httplogs/www.test.com-access.log
2. alias
语法:alias path
配置段:location
例:
location ^~/binapp/ {
limit_conn limit 4;
limit_rate 200k;
internal;
alias /data/static/bin/apps/;
}
alias把location后配置的路径丢弃,把当前匹配到的目录指向到指定的目录,若一个请求的URI是/binapp/a.ttlsa.com/favicon时,web服务器将会返回服务器上的/data/statics/bin/apps/a.ttlsa.com/favicon.jpg的文件
备注:
(1)使用alias时,目录名后面必定加“/”.
(2)alias能够指定任何名称
(3)alias在使用正则匹配时,必须捕捉要匹配的内容并在指定的内容处使用
(4)alias只能位于location块中