51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

nginx 实现rewrite重写

Rewrite主要实现url地址重写,以及重定向,就是把传入web的请求重定向到其他url的过程

Rewrite使用场景 :
1、地址跳转,用户访问www.baimeidashu.com这个URL时,将其定向至一个新的域名mobile.baimeidashu.com
2、协议跳转,用户通过http协议请求网站时,将其重新跳转至https协议方式
3、伪静态,将动态页面显示为静态页面方式的一种技术,便于搜索引擎的录入,同时减少动态URL地址对外暴露过多的参数,提升更高的安全性。
4、搜索引擎,SEO优化依赖于url路径,好记的url便于支持搜索引擎录入

Rewrite标记Flag {#title-2}

rewrite指令根据表达式来重定向URL,或者修改字符串,可以应用于server,location,if环境下,每行rewrite指令最后跟一个flag标记,支持的flag标记有如下表格所示:

后跟一个flag标记,支持的flag标记有如下表格所示:

| flag | 作用 | |-----------|--------------------------| | last | 本条规则匹配完成后,停止匹配,不再匹配后面的规则 | | break | 本条规则匹配完成后,停止匹配,不再匹配后面的规则 | | redirect | 返回302临时重定向,地址栏会显示跳转后的地址 | | permanent | 返回301永久重定向,地址栏会显示跳转后的地址 |

|------------------| | last与break区别对比示例 |

nginx rewite last 与 break 区别

redirector: 临时跳转

permanent: 永久跳转

redirect: 每次请求都会询问服务器,如果当服务器不可用时,则会跳转失败。

permanent: 第一次请求会询问,浏览器会记录跳转的地址,第二次则不再询问服务器,直接通过浏览器缓存的地址跳转。

[root@web01 conf.d]# cat test.conf

server {
listen 80;
server_name rewrite.biamei.com;
root /code;

location /test {
rewrite ^(.*)$ https://www.baimeidashu.com redirect;

}

}

Rewrite规则实践 {#title-3}

Rewrite规则实践 以及实战应用案例(变量使用)

Nginx内置参数

Nginx内置参数

赞(1)
未经允许不得转载:工具盒子 » nginx 实现rewrite重写