nginx之location(root/alias)

时间:2021-11-17 07:03:48

location配置

1. 语法规则(按优先级)

=        表示精确匹配,优先级最高

^~      表示uri以某个常规字符串开头,用于匹配url路径(而且不对url做编码处理,例如请求/static/20%/aa,可以被规则^~ /static/ /aa 匹配到(注意是空格))

~        表示区分大小写的正则匹配

~*      表示不区分大小写的正则匹配

!~       表示区分大小写不匹配的正则

!~*     表示不区分大小写不匹配的正则

/         表示通用匹配,任何请求都会匹配到

root&alias文件路径配置

root/alias  是指定文件路径的两种方式,主要区别就是怎么解析location后面的uri

例如:

访问    http://localhost/appImg/abc.jpg

root:

location ^~ /appImg/{
root /home/nginx;
}

这个location相当于访问服务器上的文件路径:  /home/nginx/appImg/abc.jpg

alias:

location ^~ /appImg/{
alias /home/nginx/;
}

这个location相当于访问服务器上的文件目录:/home/nginx/abc.jpg(即alias不会使用location后面配置的路径)

而且alias 指定的目录名后面一定要加上  "/"