Nginx location配置
来源:互联网 发布:怎么制作淘宝网站 编辑:程序博客网 时间:2024/06/02 07:12
作用
location指令的作用是根据用户请求的URI来执行不同的应用,其实就是根据用户请求的网站地址URI进行匹配,匹配成功即进行相关的操作。
语法
location [ = | ~ | ~* |^~ ] uri { ...}
上面就是location的语法,上述语法中uri部分是关键,这个uri可以是普通的字符串地址路径,或者是正则表达式,匹配成功后则执行大括号里的相关指令。使用正则表达式的时候前面还可以有~
和~*
等特殊字符。
~
区分大小写,~*
不区分大小写,还可以加!
对匹配结果取反,此外,^~
的作用是在进行常规的字符串匹配检查之后,不做正则表达式的检查,即如果最明确的那个字符串匹配的location有此前缀,那么就不进行正则表达式的检查。
示例
location = /{ [configuration A]}location / { [configuration B]}location /documents/ { [configuration C]}location ^~ /images/ { [configuration D]}location ~* \.(gif|jpg|jpeg)$ { [configuration E]}
上述location配置中,当用户请求/
时,将匹配configuration A
,当用户请求/index.html
时,将匹配configuration B
,当用户匹配/documents/document.html
时,将匹配configuration C
,当用户请求/images/1.gif
时,将匹配configuration D
,当用户请求/documents/1.jpg时,将匹配configuration E
实战
配置location
server { listen 80; server_name test.com; #测试的域名 location / { return 401; } location = / { return 402; } location /documents/ { return 403; } location ^~ /images/ { return 404; } location ~* \.(gif|jpg|jpeg)$ { return 500; }}
重启nginx
./sbin/nginx -t ./sbin/nginx -s reload
添加Host解析
123.206.176.xxx test.com #填你的真实ip
测试
(1) 为空或/
=
为精确匹配,优先级最高,不论放置的顺序如何,它都将优先被匹配并执行
(2)/index.html
/
为默认匹配,即如果没有匹配上其他的location,则最后匹配”默认匹配”部分
(3)/documents/documents.html
此部分为路径匹配,即匹配了/documents/,注意后面的/documents/1.gif,这表示没有匹配此处的location,而是匹配了以.gif结尾的location
(4)/images/1.gif
此部分为路径匹配,但是前面加了^~
,所以优先匹配路径,匹配到了就没有匹配以.gif结尾的location
(6)/documents/1.gif
此部分匹配了1.gif,属于扩展名匹配,虽然有/documents/,但还是先匹配了扩展名
在重新体会一下默认匹配的含义,如果都没有匹配到,就匹配默认匹配吗,也就是/
- Nginx location 配置
- Nginx Location配置总结
- Nginx的location配置
- Nginx Location配置总结
- nginx location 配置选项
- Nginx Location配置总结
- Nginx Location配置总结
- Nginx Location配置总结
- Nginx Location配置总结
- Nginx Location配置总结
- Nginx Location配置总结
- Nginx Location配置总结
- nginx location 配置
- Nginx Location配置总结
- Nginx Location配置总结
- Nginx Location配置总结
- Nginx Location配置总结
- nginx location配置总结
- UVA232解题报告
- 大文件读:
- EventBus封装
- error 997:重叠I/O正在进行中(mircosoft vc++ 2008 Redisturbute x64 )
- Tr A
- Nginx location配置
- lower_bound/upper_bound使用方法
- E. Read Time
- Android Design Support Library
- 用 Git 命令上传项目到 Github
- Solr6.5.1 主从复制
- 为什么要写博客?转发
- 中值滤波C++实现
- OC学习之路(5)