`

nginx路径匹配

阅读更多

语法: location [=|~|~*|^~] /uri/ { ... }

 

  1. ~* 正则匹配不区分大小写
  2. ~ 正则匹配区分大小写
  3. ^~ 路径匹配,匹配后立即终止,不再尝试匹配正则
  4. = 完全匹配,匹配后立即终止,不再尝试其他任何匹配

优先级:

完全匹配 > 带^~的路径匹配 > 正则(多个正则时优先级按配置顺序) > 路径匹配

 

官方举例:

 

location  = / {

  # matches the query / only.
  [ configuration A ] 
}
location  / {
  # matches any query, since all queries begin with /, but regular
  # expressions and any longer conventional blocks will be

  # matched first.
  [ configuration B ] 
}
location ^~ /images/ {
  # matches any query beginning with /images/ and halts searching,
  # so regular expressions will not be checked.

  [ configuration C ] 
}
location ~* \.(gif|jpg|jpeg)$ {
  # matches any request ending in gif, jpg, or jpeg. However, all
  # requests to the /images/ directory will be handled by

  # Configuration C.   
  [ configuration D ] 
}

 

Example requests:

  • / -> configuration A
  • /documents/document.html -> configuration B
  • /images/1.gif -> configuration C
  • /documents/1.jpg -> configuration D
0
0
分享到:
评论

相关推荐

    Nginx配置之location的匹配优先级浅析

    4. 如果所有正则匹配都失败,且在普通匹配阶段有无`^~`标志的最佳匹配,Nginx将使用那个匹配。如果没有找到任何匹配,服务器将返回404错误。 在实际配置中,合理安排`location`的顺序和类型可以显著提高Nginx处理...

    Nginx配置多个访问路径

    Nginx配置多个service 多个访问路径 找到conf/nginx.conf修改配置文件 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid ...

    nginx location匹配实例详解

    在本文中,我们将深入探讨几个Nginx Location匹配的实例,以帮助理解其工作原理和实际应用。** ### 实例1: 完全匹配 ```nginx location = /index.html { root /var/www/html; index index.html; } ``` 在这个...

    nginx之rewrite

    Nginx中的rewrite模块是一个非常实用的功能,它允许用户在服务器中动态地重写URL,实现URL的灵活处理,包括URL重定向和内部跳转等操作。rewrite规则在nginx的配置文件中定义,通常在server、location和if指令块中...

    详解Nginx location 匹配规则

    },其中[修饰符]是可选的,uri是要匹配的路径。修饰符用于改变匹配的行为,常见的有以下几种: 1. “=”:表示精确匹配。当请求的URI完全匹配上指定的uri时,才会按照该规则处理。 2. “^~”:表示前缀匹配。Nginx...

    nginx1.16.0 免依赖版本

    提供的安装文档应详细说明如何在目标系统上安装和配置这个免依赖版本的Nginx,包括必要的系统设置、环境变量、路径配置等。 5. **私信支持** 如果在安装或使用过程中遇到问题,可以联系提供者进行私信咨询,这是...

    Nginx location匹配规则的方法示例

    2. “~”表示区分大小写的正则表达式匹配,如果location路径符合正则表达式定义的规则,则匹配成功。 3. “~*”表示不区分大小写的正则表达式匹配。 4. “^~”表示普通字符串匹配,一旦匹配成功,就不会再继续进行...

    nginx中带问号(?) 带参数的rewrite规则

    首先,`$query_string`变量包含了GET请求中的所有参数,而`$request_uri`则包含了原始URI,包括路径和查询字符串,但不包含主机名。如果需要根据查询字符串进行重写操作,可以使用`if`语句结合正则表达式来判断和...

    nginx+lua+redis通过匹配客户端ip进行灰度发布

    nginx+lua+redis通过匹配客户端ip进行灰度发布 本文将讲述如何使用nginx、lua和redis来实现灰度发布,通过匹配客户端IP来实现灰度发布。灰度发布是一种常见的软件发布方式,它允许开发者在生产环境中发布新的版本,...

    nginx-linux-1.24.0.tar.gz

    描述中提到需要将Nginx从`sbin`目录移动到上一层文件夹,这一步是不必要的,因为Nginx通常被设计为在指定的`--prefix`路径下运行。然而,如果你想改变其默认位置,可以使用软链接或者移动文件,但记得更新任何配置...

    nginx的server和location匹配规则

    Nginx 服务器和 Location 匹配规则 Nginx 配置文件主要由 events、http、server、location、upstream 等块配置项和一些行配置项组成。Server 块匹配规则是 Nginx 配置文件中的一部分,对虚拟主机的相关参数进行配置...

    利用nginx如何匹配多个条件

    在面对需要匹配多个条件的情况时,我们需要巧妙地利用Nginx的变量和条件语句来实现这一目标。 **问题分析:** 在Nginx中,`$remote_addr`变量存储了客户端直接连接到Nginx服务器的IP地址,而`$...

    fastdfs-nginx-module-1.24

    3. 编译和安装模块:将模块编译进 Nginx,通常涉及到修改 Nginx 的配置文件,添加模块路径。 4. 配置 Nginx:配置 Nginx 的 server 和 location 块,设定文件访问路径和相关参数。 5. 启动和测试:重启 Nginx 服务,...

    Nginx中if语句的判断条件与多条件判断详解

    一、if语句中的判断条件(nginx)介绍 1、正则表达式匹配:  ==:等值比较;  ~:与指定正则表达式模式匹配时返回“真”,判断匹配与否时区分字符大小写;  ~*:与指定正则表达式模式匹配时返回“真”,判断匹配...

    出租车项目python路径匹配.zip

    【标题】:“出租车项目python路径匹配.zip”是一个Python编程项目,专注于实现出租车的路径匹配算法。这个项目可能涉及地理信息系统(GIS)、数据处理以及优化算法,以帮助出租车司机找到最佳路线或者为乘客提供...

    nginx安装文档.pdf

    - `^~`:表示URL路径匹配,当URL以指定的常规字符串开头时,停止其他正则匹配,直接应用此规则。 - `~`:区分大小写的正则匹配。 - `~*`:不区分大小写的正则匹配。 - `!~` 和 `!~*`:分别表示区分大小写不匹配和不...

    一文弄懂Nginx的location匹配的实现

    在进行匹配之前,Nginx会对请求的URI进行序列化,例如解码URI中的百分比编码字符,去除多余的斜杠,解析路径中的点(.)和双点(..)等。这是整个匹配过程的前置工作。 匹配的具体过程可以总结为:首先,Nginx按照...

Global site tag (gtag.js) - Google Analytics