1.Rewrite基本概述
1.什么是rewrite
Rewrite主要实现url地址重写,以及地址重定向,就是将用户请求web服务器的地址重新定向到其他URL的过程。
2.Rewrite使用场景
地址跳转:www.360buy.com--->www.jd.com
协议跳转: http://oldbey.com--->https://oldboy.com
静态:动态url---->静态url 防止url暴露网站路径(目录结构)
blog.oldboy.com/index,php?product=linux&page=01 ==rewrite==> blog.oldboy.com/linux/page01
其他跳转需求:seo 需求
nginx变量官方文档
http://nginx.org/en/docs/
if用法
Syntax:if(condition){...}
Defau7t: -
Context:server, locationl
if () {
满足条件后执行指令
}
#主要应用场景配合各种nginx变量(内置/手动创建)判断。…."
#常用变量
案例02:过滤Nginx请求中包含a1=3526的http请求到10.16.3.5的8080端口处理
re.oldboy.com?a1=3526&a2=666&a3=9999 $host $requst _uri if( $request_uri ~* 'a1=3526' ){ proxy_pass http://10.16.3.5:8080; }
$request_method 请求方法
$request_uri 请求的uri
$status
用于取出http请求报文中的内容
$http_
用于取出http响应报文中的内容
$sent_http_
1.使用方法选择你要取出的内容
2.判断是请求还是响应
3. 小写,减号变成下划线
$http_user_agent
User-Agent
set命令
set $oldboy "idao996"; return 200 $o1dboy;
#案例03:用户
用户请求 rewrite.oldboy.com.cn 用户访问 /code/rewrite/cn/index.html o1dboy cn
用户请求 rewrite.oldboy.com.jp 用户访问 /code/rewrite/ip/index.htm1 oldboy jp
本文来自博客园,作者:孙龙-程序员,转载请注明原文链接:https://www.cnblogs.com/sunlong88/p/18508653