Nginx-location配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx-location配置相关的知识,希望对你有一定的参考价值。

nginx的location匹配规则:

语法规则: location [=|~|~*|^~] /uri/ { … }

=   普通字符精确匹配,这个优先级也是最高的

~   波浪线表示执行一个正则匹配,区分大小写

~*  表示执行一个正则匹配,不区分大小写

^~  表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录

!~  表示区分大小写不匹配的正则

!~* 表示不区分大小写不匹配的正则

/   通用匹配,任何请求都会匹配到,默认匹配


location匹配的优先级:

=  精确匹配优先级最大,如果发现精确匹配,nginx会停止搜索其他匹配

^~ 其次匹配

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



例如:

Nginx配置文件:(省略了前面的常规配置)

   

server
    {
    listen 80;
    server_name 127.0.0.1;
    #默认匹配
    location / {
      echo "/";
    }
    #精确匹配
    location =/ {
      echo "=/";
    }
    #精确匹配
    location =/nginx {
      echo "=/nginx";
    }
    #以gif结尾的区分大小写
    location ~ \.gif$ {
      echo "gif";
    }
    #以gif结尾的不区分大小写
    location ~* \.gif$ {
      echo "GIF";
    }
    #匹配/static/路径
    location ^~ /static/ {
      echo "static";
    }
    access_log logs/tomcat1_access.log;
    }

测试:

# curl 192.168.78.131
=/
# curl 192.168.78.131/nginx
=/nginx
# curl 192.168.78.131/123.gif
gif
# curl 192.168.78.131/123.GIF
GIF
# curl 192.168.78.131/static/123.gif
static



本文出自 “baiyubao的博客” 博客,请务必保留此出处http://baiyubao.blog.51cto.com/2845008/1759223

以上是关于Nginx-location配置的主要内容,如果未能解决你的问题,请参考以下文章

nginx-location规则匹配

nginx-location语法匹配优先级

nginx-location正则表达式匹配规则及动静分离

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置