`
eyesmore
  • 浏览: 378258 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Nginx的location if 太奇怪了

阅读更多

需要请求的图片,其中$station_id是变量

 

http://host/thumb/200x/$station_id.jpg

http://host/thumb/160x/$station_id.jpg

 

为了容错,提供了两张默认图片,当$station_id对应的图片找不到的时候,用默认图片替代

http://host/thumb/notfound_160x.jpg

http://host/thumb/notfound_200x.jpg

 

 

为此在Nginx里面配置:

 

location ^~ /thumb/ {

       set $notfound "/thumb/notfound_160x.jpg";

       if ( $uri ~ "/200x/" )  {

          set $notfound "/thumb/notfound_200x.jpg";

       }

       try_files $uri $notfound =404;

       add_header Cache-Control max-age=100;

       log_not_found off;

       #access_log /usr/local/nginx/logs/a1.log access_format;

       access_log  off;

    }


但是当我们访问: http://host/thumb/160x/$station_id.jpg 的时候配置生效,返回小的默认图片; 访问 http://host/thumb/200x/$station_id.jpg 的时候,就一直提示NotFound


最后被迫无奈,不在loaction中if了,改用两个location

分享到:
评论

相关推荐

    Nginx Location 正则_NginxLocation正则.md_

    nginx正则表达式. : 匹配除换行符以外的任意字符? : 重复0次或1次+ : 重复1次或更多次* : 重复0次或更多次\d :匹配数字^ : 匹配字符串的开始$ : 匹配字符串的介绍{n} : 重复n次{n} : 重复n次或更多次[c] :...

    nginx location中多个if里面proxy_pass的方法

    在Nginx配置中,`...总之,理解Nginx `location`的匹配机制和`if`语句的使用是优化Web服务器配置的关键。正确地利用这些特性,可以根据URL、参数等条件灵活地控制请求的处理流程,实现高效的负载均衡和内容分发。

    nginx配置location时容易出现的误区

    ### Nginx 配置 Location 时常见的误区详解 在 Nginx 的配置过程中,`location` 是一个非常重要的概念,用于控制特定 URL 模式的请求处理方式。然而,在实际应用中,不少开发者对 `location` 的理解存在一定的误区...

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

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

    nginx location配置详细解释.pdf

    ### Nginx Location配置详细解析 #### 一、引言 Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在 Linux 环境下有着非常好的性能表现。在 Nginx 的配置文件中,`location` ...

    nginx location匹配实例详解

    您可能感兴趣的文章:Nginx配置指令location匹配符优先级和安全问题详解Nginx location 匹配规则Nginx服务器的location指令匹配规则详解利用nginx如何匹配多个条件Nginx location匹配规则的方法示例简介Nginx中的...

    nginx_location

    Nginx 的 `location` 指令是配置 Web 服务器路由请求的关键部分,用于根据请求的 URI 来决定如何处理请求。以下是对 `location` 指令的详细解释和最佳实践: 1. **匹配规则**: - `=`:精确匹配,如果请求的 URI ...

    Nginx关于location的匹配规则详解.docx

    **Nginx中的Location匹配规则详解** 在Nginx服务器配置中,`location`指令是核心部分之一,用于处理HTTP请求。它根据指定的规则来匹配URL,从而决定如何处理客户端的请求。本文将深入探讨Nginx `location`的匹配...

    nginx location中uri的截取的实现方法

    在Nginx配置中,`location`指令是用于匹配HTTP请求URI并执行相应处理的关键部分。本文将深入探讨如何在`location`中实现URI的截取,并解释`root`、`alias`以及`proxy_pass`指令在处理URI时的不同行为。 ### 1. `...

    nginx配置location总结及rewrite规则写法

    nginx配置location总结及rewrite规则写法

    nginx location 配置 正则表达式实例详解

    **Nginx Location 配置正则表达式详解** 在Nginx服务器配置中,`location`指令扮演着至关重要的角色。它允许我们根据请求的URI(Uniform Resource Identifier)进行精细化处理,例如转发请求到不同的后端服务、提供...

    详解Nginx location 匹配规则

    location [=|~|~*|^~] /uri/ { … } 模式 含义 location = /uri = 表示精确匹配,只有完全匹配上才能生效 location ^~ /uri ^~ 开头对URL路径进行前缀匹配,并且在正则之前。 location ~ pattern 开头...

    NGINX location 在配置中的优先级.docx

    NGINX location 配置中的优先级详解 NGINX 中的 location directive 是一个非常重要的配置指令,它可以根据不同的 URL 模式来匹配不同的请求路径。但是,location 的配置顺序并不是固定的,而是根据 Location ...

    Nginx Location 指令简明指南

    Nginx的配置文件中包含多个指令,其中Location指令是用于处理特定URI请求的关键部分。本文将详细介绍Nginx Location指令的基本语法、匹配过程、配置实例以及Nginx中的全局变量。 首先,Location指令的基本语法非常...

    nginx配置location总结location正则写法及rewrite规则写法

    Nginx 的 `location` 指令是配置服务器路由请求的关键部分,它允许你根据请求的URI来定向请求到不同的处理程序或者返回特定的响应。`location` 的正则写法和 `rewrite` 规则是 Nginx 配置中的高级特性,用于实现灵活...

    Nginx中IF、AND、OR语句用法实例

    在Nginx配置中,`IF`语句用于执行基于某些条件的逻辑判断,而`AND`和`OR`操作通常在编程语言中用于组合多个条件。然而,Nginx的配置语法并不直接支持`AND`和`OR`操作符。尽管如此,我们可以使用变量和条件语句的组合...

    nginx的各项详细配置-超多注释

    本篇文章将详细介绍Nginx的各项配置,并结合提供的"nginx.conf"配置文件和"nginx.txt"说明文件,深入解析Nginx的配置语法和应用场景。** ### 1. Nginx基本结构 Nginx的配置文件主要由多个块组成,包括全局块、...

Global site tag (gtag.js) - Google Analytics