本文摘自PHP中文网,作者(*-*)浩,侵删。
在项目开发中经常会遇到nginx配置文件中,会有很多条location配置,却读不懂其中的含义而烦恼
Location是Nginx中的块级指令(block directive),通过配置Location指令块,可以决定客户端发过来的请求URI如何处理(是映射到本地文件还是转发出去)及被哪个location处理。
Location基本语法
1 2 3 4 5 6 7 8 9 10 | 修饰符(modifier)
location [ = | ~ | ~* | ^~ ] uri { ... }
location根据不同的修饰符可以分为两大类
前缀location(prefix location):
无修饰符的普通location
带=的精准匹配location
带^~的非正则表达式location
正则表达式location(regular expressions location):
~ 区分大小写的正则location
~* 不区分大小写的正则location
|
location的匹配示例:
1 2 3 4 5 6 | ocation = / { [ configuration A ] } #用户请求 "/" 时,匹配A,例如:www.pcm.com/
location / { [ configuration B ] } #当用户请求 "/index.html" 时,匹配B,例如:www.pcm.com/index.html
location /documents/ { [ configuration C ] } #当用户请求 "/documents/" 时,匹配C,例如:www.pcm.com/documents/index.html
location ^~ /images/ { [ configuration D ] } #当用户请求 "/images/" 时,匹配D,:www.pcm.com/images/1.jpg
location ~* \.(gif|jpg|jpeg)$ { [ configuration E ] } #当用户请求 ".gif|.jpg|.jpeg" 时,匹配E,例如:www.pcm.com/documents/1.jpg
#上面的反斜杠是转义字符,$的意思是结尾
|
下面是一个location配置参考,以及不同的请求uri到达nginx时会执行的规则
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | location / {
[ configuration B ]
}
location /documents/ {
[ configuration C ]
}
location ^~ /images/ {
[ configuration D ]
}
location ~* \.(gif|jpg|jpeg)$ {
[ configuration E ]
}
请求URI 执行的规则
/ A
/index.html B
/documents/document.html C
/images/1.gif D
/documents/1.jpg E
|
更多Nginx相关技术文章,请访问Nginx使用教程栏目进行学习!
以上就是nginx location是什么的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
nginx上出现403应该怎么解决
nginx反向代理和正向代理的区别是什么
nginx和apache的区别
提高nginx安全性方法
如何启动nginx服务?
nginx使用多进程有啥好处
nginx日志数据如何实时监控
重启nginx时nginx.pid文件丢失怎么办
apache与nginx哪个好
nginx的配置文件在哪个目录下
更多相关阅读请进入《nginx》频道 >>
转载请注明出处:木庄网络博客 » nginx location是什么