语法规则(按优先级)
= 表示精确匹配,优先级最高
^~ 表示uri以某个常规字符串开头,用于匹配url路径(而且不对url做编码处理,
例如请求/static/20%/aa,
可以被规则^~ /static/ /aa 匹配到(注意是空格))
~ 表示区分大小写的正则匹配
~* 表示不区分大小写的正则匹配
!~ 表示区分大小写不匹配的正则
!~* 表示不区分大小写不匹配的正则
/ 表示通用匹配,任何请求都会匹配到
root&alias文件路径配置
root/alias 是指定文件路径的两种方式,主要区别就是怎么解析location后面的uri
示例一:(访问同一个请求,root和alias展示不同路径下的图片)
访问 http://192.168.1.6/appicons/10.jpg
root:
location ^~ /appicons/{
root /www/luci-static/resources/icons;
}
#这个location相当于访问服务器上的文件路径: /www/luci-static/resources/icons/appicons/10.jpg
alias:
location ^~ /appicons/{
alias /www/luci-static/resources/icons/;
}
#这个location相当于访问服务器上的文件目录:/www/luci-static/resources/icons/10.jpg(即alias不会使用location后面配置的路径)
#而且alias 指定的目录名后面一定要加上 "/"
示例二:(通过不同请求,root和alias展示相同路径下的图片)
展示/www/luci-static/resources/icons/下的图片
root:
#访问https://192.168.1.6/luci-static/resources/icons/10.png
location /luci-static/resources/icons/ {
root /www;
}
#实际访问服务器地址: https://192.168.1.6/www/luci-static/resources/icons/10.png
alias:
#访问https://192.168.1.6/appicons/luci-static/resources/icons/10.png
location /appicons/ {
alias /www/;
}
#实际访问服务器地址: https://192.168.1.6/www/luci-static/resources/icons/10.png