Nginx if语句加正则表达式实现字符串截断

 更新时间:2015年02月07日 20:14:48   投稿:junjie  
这篇文章主要介绍了Nginx if语句加正则表达式实现字符串截断功能,特殊场合下可能会需要这个功能,NGINX的奇淫技巧之一,需要的朋友可以参考下

在给大家讲述这个问题之前,先给大家看一段nginx配置. 我们用到了 set-misc-nginx-module

复制代码 代码如下:

location /test/ {
    default_type text/html;
    set_md5 $hash "secret"$remote_addr;
    echo $hash;
}

这样输出来的内容,可能是下面这样的
复制代码 代码如下:

202cb962ac59075b964b07152d234b70

但如果我们要截取某几位字符怎么办呢?
首先大家想到的肯定是使用模块来实现, 但只能这样吗? 有没有更方便的方式呢?

有的.
我们可以巧妙地使用if + 正则表达式来实现这个小需求:

复制代码 代码如下:

location /test/ {
    default_type text/html;
    set_md5 $hash "secret"$remote_addr;
    if ( $hash ~ ^[\w][\w][\w][\w][\w][\w][\w][\w]([\w][\w][\w][\w][\w][\w][\w][\w]) ) {
        set $hash $1;
    }
    echo $hash;
}

访问/test/输出的就是:
复制代码 代码如下:

ac59075b

相关文章

  • 如何配置Nginx作为WebSocket代理

    如何配置Nginx作为WebSocket代理

    这篇文章主要介绍了如何配置Nginx作为WebSocket代理问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • Nginx通过geo模块设置白名单的例子

    Nginx通过geo模块设置白名单的例子

    今天小编就为大家分享一篇Nginx通过geo模块设置白名单的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • nginx-rtmp-module模块实现视频点播的示例代码

    nginx-rtmp-module模块实现视频点播的示例代码

    本文主要介绍了nginx-rtmp-module模块实现视频点播,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • Nginx 上传大文件超时解决办法

    Nginx 上传大文件超时解决办法

    这篇文章主要介绍了Nginx 上传大文件超时解决办法的相关资料,这里上传文件并设置nginx的配置文件防止超时的情况,需要的朋友可以参考下
    2017-07-07
  • Nginx服务器作反向代理实现内部局域网的url转发配置

    Nginx服务器作反向代理实现内部局域网的url转发配置

    这篇文章主要介绍了Nginx服务器作反向代理实现内部局域网的url转发实例,文中提到需要注意proxy_read_timeout参数的相关调整,需要的朋友可以参考下
    2016-01-01
  • nginx访问动态接口报错404Not Found问题解决

    nginx访问动态接口报错404Not Found问题解决

    本文主要介绍了nginx访问动态接口报错404Not Found问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Nginx基于漏桶算法配置限流详解

    Nginx基于漏桶算法配置限流详解

    这篇文章主要为大家介绍了Nginx基于漏桶算法配置限流详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • nginx拦截非法host或直接使用ip访问的请求的实现

    nginx拦截非法host或直接使用ip访问的请求的实现

    非法拦截可以有效防止直接通过IP或本地绑定域名的方式进行非法访问,本文主要介绍了nginx拦截非法host或直接使用ip访问的请求的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-12-12
  • nginx安装完成无法解析php解决方法

    nginx安装完成无法解析php解决方法

    大家好,本篇文章主要讲的是nginx安装完成无法解析php解决方法,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • nginx 1.0.0配ngx_cache_purge实现高效的反向代理

    nginx 1.0.0配ngx_cache_purge实现高效的反向代理

    nginx默认安装就会带有反向代理的功能,但想要更好的使用,还得配备frickle.com的ngx_cache_purge模块,用于清除指定URL的缓存。
    2011-06-06

最新评论