• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Nginx正则表达式相关的参数和规则介绍

    前言

    最近帮客户配置服务器,经常修改Nginx的配置文件,频繁的用到正式匹配规则,这里整理了一些常用的正则参数及规则,以备查询。

    Nginx配置中Location的语法规则 location [ = | ~ | ~* | ^~ | !~ | !~* ] /uri/{ … }

    1. = 表示精确匹配
    2. ~ 表示区分大小写正则匹配
    3. ~* 表示不区分大小写正则匹配
    4. ^~ 表示URI以某个常规字符串开头
    5. !~ 表示区分大小写正则不匹配
    6. !~* 表示不区分大小写正则不匹配
    7. / 通用匹配,任何请求都会匹配到

    匹配顺序

    多个location配置的情况下匹配顺序为:

    首先匹配 =
    其次匹配 ^~
    其次是按文件中顺序的正则匹配
    最后是交给 / 通用匹配
    当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

    . 匹配除换行符以外的任意字符
    \w 匹配字母或数字或下划线或汉字
    \s 匹配任意的空白符
    \d 匹配数字
    \b 匹配单词的开始或结束
    ^ 匹配字符串的开始
    $ 匹配字符串的结束

    *     重复零次或更多次
    +     重复一次或更多次
    ?     重复零次或一次
    {n}     重复n次
    {n,}     重复n次或更多次
    {n,m}     重复n到m次
    *?     重复任意次,但尽可能少重复
    +?     重复1次或更多次,但尽可能少重复
    ??     重复0次或1次,但尽可能少重复
    {n,m}?     重复n到m次,但尽可能少重复
    {n,}?     重复n次以上,但尽可能少重复

    \W     匹配任意不是字母,数字,下划线,汉字的字符
    \S     匹配任意不是空白符的字符
    \D     匹配任意非数字的字符
    \B     匹配不是单词开头或结束的位置
    [^x]     匹配除了x以外的任意字符
    [^aeiou]     匹配除了aeiou这几个字母以外的任意字符

    常用的规则

    精确匹配

    location = / {
     proxy_pass http://127.0.0.1:9090/
    }

    将所有请求直接转发给服务器的9090端口。

    处理静态文件

    #目录匹配
    location ^~ /static/ {
     root /webroot/static/;
    }
    #后缀匹配
    location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {
     root /webroot/res/;
    }

    转发动态请求到后端应用服务器

    #将/account/开始的请求转发给Account服务器
    location /account/ {
     proxy_pass http://127.0.0.1:8080/
    }
    #将/order/开始的请求转发给Order服务器
    location /order/ {
     proxy_pass http://127.0.0.1:9090/
    }

    rewrite指令

    总结

    到此这篇关于Nginx正则表达式相关的参数和规则的文章就介绍到这了,更多相关Nginx正则参数及规则内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    上一篇:如何利用nginx通过正则拦截指定url请求详解
    下一篇:docker环境下安装jenkins容器的详细教程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    Nginx正则表达式相关的参数和规则介绍 Nginx,正则,表达式,相关,