`
enetor
  • 浏览: 184727 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Nginx Location简单语法与配置

 
阅读更多

二、Location语法 语法:location [=|~|~*|^~] /uri/ { … }
注:
1、~   为区分大小写匹配
2、~* 为不区分大小写匹配
3、!~和!~*分别为区分大小写不匹配 及不区分大小写
不匹配
示例一:
location  / {
}
匹配任何查询,因为所有请求都以 / 开头。但是正则表达式规则将被优先和查询匹配。
示例二:
location =/ {}
仅仅匹配/

示例三:
location ~* \.(gif|jpg|jpeg)$ {
rewrite \.(gif|jpg)$ /logo.png;

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

三、ReWrite语法
last - 基本上都用这个Flag。
break - 中止Rewirte,不在继续匹配
redirect - 返回临时重定向的HTTP状态302
permanent - 返回永久重定向的HTTP状态301

1、下面是可以用来判断的表达式:
-f和!-f用来判断是否存在文件
-d和!-d用来判断是否存在目录
-e和!-e用来判断是否存在文件或目录
-x和!-x用来判断文件是否可执行
2、下面是可以用作判断的全局变量
例:http://localhost:88/test1/test2/test.php
$host:localhost
$server_port:88
$request_uri:
http://localhost:88/test1/test2/test.php
$document_uri:/test1/test2/test.php
$document_root:D:\nginx/html
$request_filename:D:\nginx/html/test1/test2/test.php

四、Redirect语法
    server {
    listen 80;
    server_name start.igrow.cn;
    index index.html index.php;
    root html;
    if ($http_host !~ "^www\.itlearner\.com$ {
         rewrite ^(.*)
http://www.itlearner.com $1 redirect;
    }
    }

五、防盗链
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

分享到:
评论

相关推荐

    nginx location语法使用介绍

    nginx location语法 基本语法:location [=|~|~*|^~] /uri/ { … } = 严格匹配。如果这个查询匹配,那么将停止搜索并立即处理此请求。 ~ 为区分大小写匹配(可用正则表达式) ~* 为不区分大小写匹配(可用正则表达式) !...

    Nginx 反向代理 location 语法规则说明

    Nginx 反向代理 location 语法规则说明

    详解Nginx location 匹配规则

    语法规则 location [=|~|~*|^~] /uri/ { … } 模式 含义 location = /uri = 表示精确匹配,只有完全匹配上才能生效 location ^~ /uri ^~ 开头对URL路径进行前缀匹配,并且在正则之前。 location ~ ...

    Nginx中Location从零开始的配置教程

    Nginx location 配置语法  1. location [ = | ~ | ~* | ^~ ] uri { ... }  2. location @name { ... }  location 配置可以有两种配置方法 1.前缀 + uri(字符串/正则表达式) 2.@ + name 前缀含义  = :...

    Nginx Location 指令简明指南

    主要介绍了Nginx Location 指令简明指南,本文讲解了它的基本语法、匹配过程、配置实例和全局变量,需要的朋友可以参考下

    nginx搭建配置详细说明

    3.4. nginx重要指令之location 4. nginx中的rewrite 4.1. 什么是rewrite 4.2. rewrite的命令的作用域和优先级 4.3. if指令 4.3.1. if指令的语法 4.3.2. if指令中使用的逻辑运算符 4.3.3. If指令中可以使用的...

    Nginx服务器的location指令匹配规则详解

    nginx location语法 基本语法:location [=|~|~*|^~] /uri/ { … } = 严格匹配。如果这个查询匹配,那么将停止搜索并立即处理此请求。 ~ 为区分大小写匹配(可用正则表达式) ~* 为不区分大小写匹配(可用正则表达式...

    Nginx服务器中的location配置详解

    语法 location [=|~|~*|^~] /uri/ {…} 规则 = : 表示精确的URI匹配(有兴趣的同学可以看一下url和uri的区别) ...多个location配置的前提下,location的匹配顺序(未验证,嘿嘿,google上搜的) 1.首先匹\u914d=

    一文弄懂Nginx的location匹配的实现

    由于团队在进行前后端分离,前端接管了 Nginx 和 node 层,在日常的工作中,跟 Nginx 打...语法规则很简单,一个location关键字,后面跟着可选的修饰符,后面是要匹配的字符,花括号中是要执行的操作。 修饰符 = 表

    详解Nginx之Location配置(Location匹配顺序)

    1.location的基础语法 location [=|~|~*|^~] patt { } =:严格匹配。如果这个查询匹配,那么将停止搜索并立即处理此请求。 ~:为区分大小写匹配(可用正则表达式)。 ~*:为不区分大小写匹配(可用正则表达式)。 ^~:如果...

    nginx基础实例培训视频.zip

    03-nginx虚拟主机配置 04-nginx日志管理 05-nginx定时任务完成日志切割 06-Location详解之精准匹配 07-Location之正则匹配 08-Location总结图解 09-nginx Rewrite语法详解 10-编译PHP并与nginx整合 11-安装ecshop 12...

    nginx缓存清除插件ngx_cache_purge.zip

    配置指令(相同位置语法)fastcgi_cache_purgesyntax: fastcgi_cache_purge on|off|<method> [from all|<ip> [.. ]]default: nonecontext: http, server, location允许从 FastCGI 的缓存中清除所选页面。proxy_...

    CenOs7安装Nginx以及配置详解

    个人整理的nginx安装以及配置详解,Nginx的信号控制,location 语法,nginx的缓存,nginx反向代理服务器+负载均衡等

    Nginx Location指令URI匹配规则详解小结

    2、location指令语法 location [=|~|~*|^~|@] /uri/ { … } 或 location @name { … } 3、URI匹配模式 location指令分为两种匹配模式: 1> 普通字符串匹配:以=开头或开头无引导字符(~)的规则 2> 正则匹配:...

    Nginx正则表达式相关的参数和规则介绍

    Nginx配置中Location的语法规则 location [ = | ~ | ~* | ^~ | !~ | !~* ] /uri/{ … } = 表示精确匹配 ~ 表示区分大小写正则匹配 ~* 表示不区分大小写正则匹配 ^~ 表示URI以某个常规字符串开头 !~ 表示区分大...

    nginx自定义变量与内置预定义变量的使用

    nginx可以使用变量简化配置与提高配置的灵活性,所有的变量值都可以通过这种方式引用: $变量名 而nginx中的变量分为两种,自定义变量与内置预定义变量 内置变量 声明 可以在sever,http,location等标签中使用...

    Nginx访问限制配置详解

    什么是Nginx访问限制配置 nginx访问限制可以基于两个方面,一个是基于ip的访问控制,另一个是基于用户的信任登陆控制 下面我们将对这两种方法逐个介绍 基于IP的访问控制介绍: 可以通过配置基于ip的访问控制,...

Global site tag (gtag.js) - Google Analytics