nginx配置location [=|~|~*|^~] /uri/ { … }用法

nginx location介绍php

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

nginx location语法linux

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

= 严格匹配。若是这个查询匹配,那么将中止搜索并当即处理此请求。
~ 为区分大小写匹配(可用正则表达式)
~* 为不区分大小写匹配(可用正则表达式)
!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
^~ 若是把这个前缀用于一个常规字符串,那么告诉nginx 若是路径匹配那么不测试正则表达式。正则表达式

Location语法语法:location [=|~|~*|^~] /uri/ { … }
注:
一、~   为区分大小写匹配
二、~* 为不区分大小写匹配
三、!~和!~*分别为区分大小写不匹配及不区分大小写不匹配cookie

示例一:ide

location  / { }测试

匹配任何查询,由于全部请求都以 / 开头。可是正则表达式规则将被优先和查询匹配。spa

示例二:orm

 代码以下 复制代码
location =/ {}

仅仅匹配/

示例三:

 代码以下 复制代码
location ~* .(gif|jpg|jpeg)$ {
rewrite .(gif|jpg)$ /logo.png;

注:不区分大小写匹配任何以gif,jpg,jpeg结尾的文件


nginx location应用实例

 代码以下 复制代码

location = / {
 # 只匹配 / 查询。
 
}location / {
 # 匹配任何查询,由于全部请求都已 / 开头。可是正则表达式规则和长的块规则将被优先和查询匹配。
 
}location ^~ /p_w_picpaths/ {
 # 匹配任何已 /p_w_picpaths/ 开头的任何查询而且中止搜索。任何正则表达式将不会被测试。
 
}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;
  }
}
location ~* .(js|css|jpg|jpeg|gif|png|swf)$ {
if (-f $request_filename) {
   #根据文件类型设置过时时间
   expires    1h;
   break;
}
}
location ~* .(txt|doc)${ 
 #禁止访问某个目录
    root /data/www/wwwroot/linuxtone/test;
    deny all;
}

++ 一些可用的全局变量$args$content_length$content_type$document_root$document_uri$host$http_user_agent$http_cookie$limit_rate$request_body_file$request_method$remote_addr$remote_port$remote_user$request_filename$request_uri$query_string$scheme$server_protocol$server_addr$server_name$server_port$uri

相关文章
相关标签/搜索