Nginx-基础篇-5【UrlRewrite】
本文最后更新于 2023-09-19,文章内容可能已经过时。
1. UrlRewrite
1.1. rewrite语法格式及参数语法
要注意 rewrite
要放在 proxy_pass
前面,否则 rewrite
不生效
rewrite
是实现URL重写的关键指令,根据regex
(正则表达式)部分内容,
重定向到replacement
,结尾是flag
标记。
rewrite <regex> <replacement> [flag];
关键字 正则 替代内容 flag
标记
关键字:其中关键字error_log
不能改变
正则:perl兼容正则表达式语句进行规则匹配
替代内容:将正则匹配的内容替换成replacement
flag
标记:rewrite支持的flag
标记,这里记住不加flag标记可能会出现反向代理无效
rewrite
参数的标签段位置:
server
,location
,if
flag
标记说明:
last
#本条规则匹配完成后,继续向下匹配新的location URI规则
break
#本条规则匹配完成即终止,不再匹配后面的任何规则
redirect
#返回302临时重定向,浏览器地址会显示跳转后的URL地址
permanent
#返回301永久重定向,浏览器地址栏会显示跳转后的URL地址
301 的重定向会记录到浏览器缓存,下次无需 Nginx 也能直接跳转;302 不会记录到缓存,必须先要过 Nginx 才能跳转
实例 利用rewrite实现了伪静态
1.2. 负载均衡 + UrlRewrite
应用服务器防火墙配置
开启防火墙——重启防火墙
重载规则
查看已配置规则
指定端口和ip访问【这里指的就是我们反向代理的服务器 加了 --permanent 相当于是永久规则】
移除规则
网关配置
起到了网关服务器的作用
- 感谢你赐予我前进的力量