本文主要是介绍nginx学习之location块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
nginx官方文档中location块的语法结构为
location [ = | ~ | ~* | ^~ | ] uri {……}
uri:待匹配的字符串,可以使不含正则表达的字符串,如/myserver.php等
location模式 | 含义 |
---|---|
以= 开头 | 表示精准匹配,如只匹配根目录结尾的请求,后面不能带任何字符串 |
以 ^~ 开头 | 表示uri以某个常规字符串开头,不是正则匹配 |
以 ~ 开头 | 表示区分大小写的正则匹配 |
以 ~* 开头 | 表示不区分大小写的正则匹配 |
以 / 开头 | 通用匹配, 如果没有其它匹配,任何请求都会匹配到 |
通用匹配
匹配所有地址都是以/开头
location / {[configuration B]
}
^~ 匹配规则
location ^~ /filedown/ {root /usr/local/nfs/;autoindex on; if ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$){add_header Content-Disposition: 'attachment;';}
}
IP:端口/filedown 等价于 /usr/local/nfs/filedown
URL:IP:端口/filedown/aaa.zip
匹配到/usr/local/nfs/filedown/aaa.zip
location /images/ {root /data;
}
这篇关于nginx学习之location块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!