【2022】Nginx之location-module使用

简介: 【2022】Nginx之location-module使用

location的作用是根据相应的规则处理流量请求。

location说明

location语法:

location [ = | ~ | ~* | ^~ | ] uri { ... }
location @name { ... }
context: server,location

以上各项含义:

location:定义具体的URI如何响应
=、~、~*、^~:用于URI匹配
@:用于创建一个内部location标识,只供内部匹配
还有一种是当以上所有都不符合时,默认会匹配“/”

各修饰符含义:

=:精确匹配
~:区分大小写的正则表达式
~*:不区分大小的正则表达式
^~:不使用正则表达式

location匹配规则

nginx使用最长匹配原则匹配前缀location,在前缀location中,顺序无关紧要。

location查找逻辑:

3d46e9b7a1454bf3a60e44980ea173ef.png

location示例说明

假如我们有一个域名是www.yyang.com,那么

  • 匹配“/”
location = / { ... }
  • 匹配“index.html”
location / { ... }
  • 匹配“documents/index.html”
location /documents/ { ... }
  • 匹配“/images/1.gif”
location ^~ /images/ { ... }
  • 匹配“/documents/1.jpg”
location ~* \.(gif|jpg|jpeg)$ { ... }
  • 例:如果匹配“= /”那么写作:
http://www.yyang.com/

匹配优先级从高到底分别是:

=大于^~大于~大于~*大于/

location-@ 重定向

location @name 不接受外部请求,只用于内部重定向

  • 示例:
error_page 403 404 @error
location @error {
  return 302 http://$server_name;
}

这个例子是说如果你请求的页面不存在就返回主页。

目录
相关文章
|
应用服务中间件 nginx
配置nginx时加上--without-http_rewrite_module这个参数,就不需要安装pcre
不加--without-http_rewrite_module这个参数时就是启动URL重写,所以需要pcre ./configure --with-http_stub_status_module --without-http_rewrite_module --prefix=/usr/local/n...
2703 0
|
7月前
|
应用服务中间件 nginx
nginx日志模块 ngx_http_log_module
nginx日志模块 ngx_http_log_module
|
应用服务中间件 nginx
nginx--location
nginx--location
|
JSON 应用服务中间件 测试技术
【2022】Nginx使用ngx_http_log_module模块定义日志
【2022】Nginx使用ngx_http_log_module模块定义日志
157 0
|
网络协议 应用服务中间件 nginx
【2022】Nginx目录索引模块ngx_http_autoindex_module
【2022】Nginx目录索引模块ngx_http_autoindex_module
177 0
|
自然语言处理 应用服务中间件 nginx
手把手教你Nginx常用模块详解之ngx_http_rewrite_module(十)
手把手教你Nginx常用模块详解之ngx_http_rewrite_module(十)
270 0
|
应用服务中间件 C语言 nginx
Nginx Upload Module 上传模块
传统站点在处理文件上传请求时,普遍使用后端编程语言处理,如:Java、PHP、Python、Ruby等。今天给大家介绍Nginx的一个模块,Upload Module上传模块,此模块的原理是先把用户上传的文件保存到临时文件,然后在交由后台页面处理,并且把文件的原名,上传后的名称,文件类型,文件大小set到页面。
2060 0
|
应用服务中间件 nginx Perl
nginx模块--with-http_realip_module
nginx模块--with-http_realip_module
3638 0
|
前端开发 应用服务中间件 nginx
|
前端开发 应用服务中间件 nginx