rewrite指令可在 server 块或者 location 块中配置。

语法:

rewrite regex replacement [flag];

1、rewrite 接收的 uri 不包含 host 地址,不包含参数。可通过全局变量$uri、$args获取。

2、flag:last、break、redirect、permannet

   last:中止在本location块中处理接收到的URI,并将此处重写的URI作为一个新的URI,使用其他 location 块进行处理。让所有的location块重新匹配和处理新的URI。

   break:将重写后的URI作为一个新的URI,在本块中继续进行处理。将重写后的地址在当前的location块中执行,不会将新的URI转向到其他location块。新的URI始终在同一个location块中。

  redirect:302临时重定向。

  permanent:301永久重定向。

3、rewrite_log

   rewrite_log on; 开启URL重写日志。以 notice 级别输出到 error_log指令配置的日志文件中。

通过重写防盗链:

 server{
listen 80;
server_name www.test.com;
location ~* ^.+\.(gif|jpg|png)${
valid_referers none blocked server_name *.test.com;
if($invalid_referer){
rewrite ^/ http://www.test.com/images/forbidden.png;
}
}
}

valid_referer指令设置有效的 referer,若referer有效则设置$invalid_referer为1,否则为0;

none表示没有referer;

blocked表示referer被防火墙或者代理服务器删除或伪装;

server_names设置一个或多个URL。

nginx 重写的更多相关文章

  1. 17.Nginx 重写(location rewrite)

    Nginx 重写(location / rewrite) 目录 Nginx 重写(location / rewrite) 常见的nginx正则表达式 location lication的分类 loca ...

  2. nginx 重写 rewrite 基础及实例

    nginx rewrite 正则表达式匹配 大小写匹配 ~ 为区分大小写匹配 ~* 为不区分大小写匹配 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配 -f和!-f用来判断是否 ...

  3. nginx 重写 rewrite 基础及实例(转)

    nginx rewrite 正则表达式匹配 大小写匹配 ~ 为区分大小写匹配 ~* 为不区分大小写匹配 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配 -f和!-f用来判断是否 ...

  4. nginx重写模块

    参考:http://nginx.org/en/docs/http/ngx_http_rewrite_module.html 1 语法 Syntax: if (condition) { ... } De ...

  5. Nginx重写请求后将url?后的参数去除

    2019独角兽企业重金招聘Python工程师标准>>> 使用?结尾     注意,关键点就在于"?"这个尾缀.重定向的目标地址结尾处如果加了?号,则不会再转发传递 ...

  6. Nginx重写功能(rewrite与location)

    一.常用的Nginx 正则表达式 二.访问路由location 2.1location的分类 location 大致可以分为三类: 精准匹配:location = / {} 一般匹配:location ...

  7. Nginx重写

    一.location匹配 1.分类:(1)正则location:~,~*(2)普通location:=,^~,@,无2.匹配规则:(1) =    精确匹配.如果找到,停止搜索(2) ^~    普通 ...

  8. nginx重写rewrite的[emerg] unknown directive

    今天写nginx的重写规则.怎么写总是报这个错误.

  9. nginx 重写 隐藏index.php

    修改 nginx.conf 文件location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break ...

随机推荐

  1. 利用域凭据:解密GPP中的管理员密码

    在利用域凭据过程中,除了通过Mimikatz和WCE从内存读取明文密码外,还可以通过域共享文件夹SYSVOL组策略文件获取哈希码. 组策略首选项(Group Policy Preference, GP ...

  2. Linux日志管理系统rsyslog

    一.日志的概念 什么是日志?日志就是历史事件.历史事件包括时间.地点.人物.时间.这个是生活中所说的日志很好理解.在Linux中也有类似的服务,它主要作用就是记录Linux系统的历史事件,包括什么时间 ...

  3. 转载:mybatis中<![CDATA[]]>的作用

    作者:QH_JAVA 来源:CSDN 原文:https://blog.csdn.net/qh_java/article/details/50755655?utm_source=copy 在使用myba ...

  4. View 层

    package com.test.mvp.mvpdemo.mvp.v1.view; import android.app.ProgressDialog;import android.os.Bundle ...

  5. win10蓝屏1

    win10一直蓝屏. 事件查看里有系统错误提示 DCOM部分组件错误,表现为:应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC ...

  6. 让人失望透顶的 CSDN 博客改版

    前言 在 CSDN 写博已经 2 年有余,相比一些大佬,时间不算太长.但工作再忙,我也会保持每月产出,从未间断.每天上线回复评论,勘误内容,参加活动,看看阅读量已经成为一种习惯,可以说是 CSDN 博 ...

  7. jvm jstack log分析工具,在线分析

    http://spotify.github.io/threaddump-analyzer Spotify提供的Web版在线分析工具,可以将锁或条件相关联的线程聚合到一起.

  8. altium学习之常用快捷键

    1.放大缩小:常用方法,ctrl+鼠标滚轮,鼠标中键+移动鼠标,pgup.pgup. 2.切换不同的布线层:ctrl+shift+鼠标滚轮 3.在SCH或者PCB 同一平面内左右翻转:ctrl+X 4 ...

  9. YOLOv3 算法的详细说明

    YOLOv3没有太多的创新,主要是借鉴一些好的方案融合到YOLO里面.不过效果还是不错的,在保持速度优势的前提下,提升了预测精度,尤其是加强了对小物体的识别能力. 本文主要讲v3的改进,由于是以v1和 ...

  10. 应用安全 - 工具使用 - Nmap

    TCP端口扫描类型 TCP connect扫描 三次握手完成/全连接/速度慢/易被检测到 TCP SYN扫描 半开扫描/发送SYN包启动TCP会话 TCP FIN扫描 半开扫描/发送SYN包启动TCP ...