Nginx的location匹配规则

nginx location语法

location [=|~|~*|^~] /uri/ { … }

说明:

=         严格匹配。如果请求匹配这个location,那么将停止搜索并立即处理此请求
~         区分大小写匹配(可用正则表达式)
~*       不区分大小写匹配(可用正则表达式)
!~       区分大小写不匹配
!~*     不区分大小写不匹配
^~      如果把这个前缀用于一个常规字符串,那么告诉nginx 如果路径匹配那么不测试正则表达式

举例说明

#示例1:
#匹配任意请求
location  / { }

#示例2:
#不区分大小写匹配任何以gif、jpg、jpeg结尾的请求,并将该请求重定向到 /logo.png请求
location ~* .(gif|jpg|jpeg)$     rewrite .(gif|jpg|jpeg)$ /logo.png;#示例3:
#区分大小写匹配以.txt结尾的请求,并设置此location的路径是/usr/local/nginx/html/。
#也就是以.txt结尾的请求将访问/usr/local/nginx/html/ 路径下的txt文件
location ~ ^.+\.txt$ {
    root /usr/local/nginx/html/;
}

alias与root的区别

  • root 实际访问文件路径会拼接URL中的路径
  • alias 实际访问文件路径不会拼接URL中的路径
#示例4:
location ^~ /sta/ {  
   alias /usr/local/nginx/html/static/;  
}
#说明:
#请求:http://test.com/sta/sta1.html
#实际访问:/usr/local/nginx/html/static/sta1.html 文件

#示例5:
location ^~ /tea/ {  
   root /usr/local/nginx/html/;  
}
#请求:http://test.com/tea/tea1.html
#实际访问:/usr/local/nginx/html/tea/tea1.html 文件

版权声明:除特别注明外,本站所有文章均为王晨曦个人站点原创

转载请注明:出处来自王晨曦个人站点 » Nginx的location匹配规则

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注