Nginx的location配置

一、简介:

       在使用Nginx服务器时,经常会见到nginx.conf中使用location字段,这个字段有什么作用呢,本文主要是介绍Location字段的用法。

         Nginx 中的 Location 指令 是NginxHttpCoreModule中重要指令。Location 指令,是用来为匹配的 URI 进行配置,URI 即语法中的”/uri/”,可以是字符串或正则表达式。但如果要使用正则表达式,则必须指定前缀。

二、nginx location语法

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

= 严格匹配。如果这个查询匹配,那么将停止搜索并立即处理此请求。

~ 为区分大小写匹配(可用正则表达式)

~* 为不区分大小写匹配(可用正则表达式)

!~和!~*分别为区分大小写不匹配及不区分大小写不匹配

^~ 如果把这个前缀用于一个常规字符串,那么告诉nginx 如果路径匹配那么不测试正则表达式。

 

三、nginx location应用实例

 

location = / {

 # 只匹配 / 查询。

 

}location / {

 # 匹配任何查询,因为所有请求都已 / 开头。但是正则表达式规则和长的块规则将被优先和查询匹配。

 

}location ^~ /images/ {

 # 匹配任何已 /images/ 开头的任何查询并且停止搜索。任何正则表达式将不会被测试。

 

}location ~* .(gif|jpg|jpeg)$ {

 # 匹配任何已 gif、jpg 或 jpeg 结尾的请求。

 

}location ~* .(gif|jpg|swf)$ {

  valid_referers none blocked start.igrow.cn sta.igrow.cn;

  if ($invalid_referer) {

  #防盗链

  rewrite ^/ http://$host/logo.png;

  }

}

# 匹配任意已gif、jpg或swf结尾的请求,并且referrer不是start.igrown.cn或sta.igrow.cn,则重定向到http://$host/logo.png

 

location ~* .(js|css|jpg|jpeg|gif|png|swf)$ {

if (-f $request_filename) {

   #根据文件类型设置过期时间

   expires    1h;

   break;

    }

}

# 匹配任意已js、css或jpg等结尾的请求,

location ~* .(txt|doc)${ 

 #禁止访问某个目录

    root /data/www/wwwroot/linuxtone/test;

    deny all;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值