1、root
- 路径匹配:以下面root配置为例,当输入127.0.0.1:XXX/foo/index.html时,会将IP+端口或域名(127.0.0.1:XXX),替换成root的路径,实际访问的是/foo/bar/foo/index.html;但如果配置的不是root,而是alias,则会将IP+端口或域名加上location上的路径(127.0.0.1:XXX/foo),替换成alias的路径,同样127.0.0.1:XXX/foo/index.html,实际访问的是/foo/bar/index.html。两者都是替换路径,区别是,root不会把location上的路径也替换掉,而alias会
location /foo {
root /foo/bar/;
}
location /foo {
alias /foo/bar/;
}
- loacation末尾的/:当带了/时,输入127.0.0.1:XXXX/foo时,不会命中该location,只有输入127.0.0.1:XXXX/foo/,才会命中;如果没带/,如下配置,则不管127.0.0.1:XXXX/foo还是127.0.0.1:XXXX/foo/,都可以命中。实际使用中,本人更偏向使用不带/的写法
location /foo {
root /foo/bar/;
}
-
root末尾的/:不带/时,如/foo/bar,表示把bar当作目录或文件;带/时,如/foo/bar/,表示把bar当作目录。在实际使用中,大部分情况都是当作目录使用,本人偏向带/的写法,能明确语义
-
index:当输入127.0.0.1:XXXX/foo/bar时,由于没有访问具体的某个文件,ng会返回路径目录下指定的index文件,如下配置,我们配置的index文件是index.html,则返回的会是/foo/bar/foo/index.html
location /foo {
root /foo/bar/;
index index.html;
}
持续更新...