Nginx 的 location 规则匹配的变量是$uri, 所以不用管后面的参数$query_string(或者$args) location 匹配的种类 格式主要是这个: text 复制代码 location [空格 | = | ~ | ~* | ^~ | @ ] /uri/ { ... } 其实上面分为三部分: 最前面的字符 (location modifier) 匹配规则 后面uri 的匹配规则 (locat...
location=/{# 只匹配对/目录的查询.[configA]}location/{# 匹配以/开始的查询,即所有查询都匹配。[configB]}location^~/images/{# 匹配以/images/开始的查询,不再检查正则表达式。[configC]}location~*\.(gif|jpg|jpeg)${# 匹配以gif,jpg,or jpeg结尾的文件,但优先级低于configC。[configD]} 四、全局...
当匹配成功后location中可以使用rewrite进行路由重写; 首先需要了解nginx rewrite中可以使用到的全局变量; $args :请求中get的参数,例如a=1&b=2; $body_remote_add :二进制客户地址 $body_byte_sent :相应时发送出去的body字节数数量,即使链接中断这个数据也是精确的; $content_length :请求头中的Content_length字...
location 指令是 nginx 中最关键的指令之一,location 指令的功能是用来匹配不同的 URI 请求,进而对请求做不同的处理和响应,这其中较难理解的是多个 location 的匹配顺序,本文会作为重点来解释和说明。 开始之前先明确一些约定,我们输入的网址叫做请求 URI,nginx 用请求 URI 与 location 中配置的 URI 做匹配。 ngin...
1、location 区段 location 是在 server 块中配置,根据不同的 URI 使用不同的配置,来处理不同的请求。 location 是有顺序的,会被第一个匹配的location 处理。 基本语法如下: location [=|~|~*|^~|@] pattern{……} 2、location前缀含义 = 表示精确匹配,优先级也是最高的 ...
语法规则: location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。 ~ 开头表示区分大小写的正则匹配 ...
location /documents/ { # 匹配任何以 /documents/ 开头的地址,匹配符合以后,还要继续往下搜索 # 只有后面的正则表达式没有匹配到时,这一条才会采用这一条 [ configuration C ] } location ~ /documents/Abc { # 匹配任何以 /documents/ 开头的地址,匹配符合以后,还要继续往下搜索 ...
location [ = | ~ | ~* | !~ | !~* | @ ] uri {...} 1.3.2解释: = 表示精确匹配,如果找到,立即停止搜索并立即处理此请求。 ~ 表示执行一个正则匹配,区分大小写匹配 ~* 表示执行一个正则匹配,不区分大小写匹配 !~ 区分大小写不匹配
location @fetch( proxy_pass http://fetch; ) 常见内部变量(如果发现更重要的会继续补充) - $args 请求参数 例如:http://segmentfault.com/?test=test 那么$args的值就是 test=test - $uri 不带host(域名)的请求路径 例如:http://segmentfault.com/write ...
location ~ /documents/Abc { # 匹配任何以 /documents/ 开头的地址,匹配符合以后,还要继续往下搜索 # 只有后面的正则表达式没有匹配到时,这一条才会采用这一条 [ configuration CC ] } location ^~ /images/ { # 匹配任何以 /images/ 开头的地址,匹配符合以后,停止往下搜索正则,采用这一条。