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

版权声明:https://github.com/wusuopubupt

======

nginx location语法

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

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

示例

=====

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;
  }
}

====

参考:http://www.php100.com/html/program/nginx/2013/0905/5535.html

时间: 2024-10-11 15:45:30

nginx配置location [=|~|~*|^~] /uri/ { … }用法的相关文章

nginx配置location总结

location匹配顺序 "="前缀指令匹配,如果匹配成功,则停止其他匹配 普通字符串指令匹配,顺序是从长到短,匹配成功的location如果使用^~,则停止其他匹配(正则匹配) 正则表达式指令匹配,按照配置文件里的顺序,成功就停止其他匹配 如果第三步中有匹配成功,则使用该结果,否则使用第二步结果 注意点 匹配的顺序是先匹配普通字符串,然后再匹配正则表达式.另外普通字符串匹配顺序是根据配置中字符长度从长到短,也就是说使用普通字符串配置的location顺序是无关紧要的,反正最后ngin

转:Nginx 配置 location 总结及 rewrite 规则写法

转: http://www.linuxidc.com/Linux/2015-06/119398.htm 1. location正则写法 一个示例: location =/{ # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location /{ # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 [ configuration B ] } location /documents/{ # 匹配任何以 /do

Linux nginx 配置 location 语法 正则表达式

location 语法:location [=|~|~*|^~] /uri/ { - } 默认:否 上下文:server 这个指令随URL不同而接受不同的结构.你可以配置使用常规字符串和正则表达式.如果使用正则表达式,你必须使用 ~* 前缀选择不区分大小写的匹配或者 ~ 选择区分大小写的匹配. 确定 哪个location 指令匹配一个特定指令,常规字符串第一个测试.常规字符串匹配请求的开始部分并且区分大小写,最明确的匹配将会被使用(查看下文明白 nginx 怎么确定它).然后正则表达式按照配置文

nginx配置location总结及rewrite规则写法

https://segmentfault.com/a/1190000002797606 location正则写法 一个示例: location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 [ configuration B ] } location /documents/ { # 匹配任何以 /documents

nginx配置location及rewrite规则重写

一个示例: location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 [ configuration B ] } location /documents/ { # 匹配任何以 /documents/ 开头的地址,匹配符合以后,还要继续往下搜索 # 只有后面的正则表达式没有匹配到时,这一条才会采用这一条 [ c

Nginx配置location与rewrite规则教程

location教程 示例: location = / { # 精确匹配 /,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所有的地址都以/开头,所有这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 [ configuration B ] } location /documents/ { # 匹配任何以/documents/开头的地址,匹配符合以后,还要继续往下搜索 # 只有后面的正则表达式没有匹配到时,这一条才会采用 [

nginx配置location总结及rewrite规则写法(2)

2. Rewrite规则 rewrite功能就是,使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向.rewrite只能放在server{},location{},if{}中,并且只能对域名后边的除去传递的参数外的字符串起作用,例如http://sui.com/a/we/index.php?id=1&u=str 只对/a/we/index.php重写.语法rewrite regex replacement [flag]; 如果相对域名或参数字符串起作用,

nginx 配置location php 不被解析解决办法

今天配了这个发现php不被解释 location /wx/ { root /data/server/www/ganji/ganji_online/backend/channel/wap_wx/app/; index index.htm index.php rewrite_log on; error_log /ganji/logs/nginx_error2.log info; } 添加如下: location ~ ^/wx/.+\.php$ { root /data/server/www/ganj

nginx 配置 location 语法 正则表达式

location 正则的使用方式有以下几种 location [=|~|~*|^~] /uri/ { … } '=' 前缀,将只执行严格匹配.如果这个查询匹配,那么将停止搜索并立即处理这个请求. '~' 前缀, 区分大小写的匹配. '~*' 前缀,不区分大小写的匹配. '^~' 前缀,如果路径匹配那么不测试正则表达式. location = / {# 只匹配 / 查询.[ configuration A ]} location / {# 匹配任何查询,因为所有请求都以 / 开头.但是正则表达式规