nginx location关于root、alias配置的区别
一、首先优先级如下:
= 表示精确匹配,优先级最高
^~ 表示uri以某个常规字符串开头,用于匹配url路径(而且不对url做编码处理,例如请求/static/20%/aa,可以被规则^~ /static/ /aa 匹配到(注意是空格))
~ 表示区分大小写的正则匹配
~* 表示不区分大小写的正则匹配
!~ 表示区分大小写不匹配的正则
!~* 表示不区分大小写不匹配的正则
/ 表示通用匹配,任何请求都会匹配到
二、root/alias 是指定文件路径的两种方式,主要区别就是怎么解析location后面的uri
uri匹配到路径后会将匹配到路径后面的路径拼在后面,关键在于匹配到的路径拼不拼在后面,这就取决于root还是alias
使用 root root 后面的 / 加不加都可以
使用 alias alias 后面的 / 必须加
alias 只能作用在 location 中,而 root 可以作用在 http、server 和 location 中
浙公网安备 33010602011771号