• nginx的Rewrite重写


    1.什么是rewrite

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

    2.Rewrite使用场景

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

    3.rewrite语法

    Syntax:    rewrite regex replacement [flag];
    Default:    —
    Context:    server, location, if
    
    rewrite           #调用模块
    regex             #请求的链接(可以使用正则表达式)
    replacement       #跳转的链接
    [flag];           #标签
    
    #示例
    server {
        ...
        rewrite ^(/download/.*)/media/(.*)..*$ $1/mp3/$2.mp3 last;
        rewrite ^(/download/.*)/audio/(.*)..*$ $1/mp3/$2.ra  last;
        ...
    }

    4.rewrite的flag标记

    rewrite指令根据表达式来重定向URL,或者修改字符串,可以应用于server,location,if环境下,每行rewrite指令最后跟一个flag标记,支持的flag标记有如下表格所示:
    flag作用
    last 本条规则匹配完成后,停止匹配,不再匹配后面的规则
    break 本条规则匹配完成后,停止匹配,不再匹配后面的规则
    redirect 返回302临时重定向,地址栏会显示跳转后的地址
    permanent 返回301永久重定向,地址栏会显示跳转后的地址
  • 相关阅读:
    洛谷P2875 [USACO07FEB]牛的词汇The Cow Lexicon
    poj2241 The Tower of Babylon
    2015 Noip提高组 Day2
    2015 Noip提高组 Day1
    poj3252 Round Numbers
    hdu4734 F(x)
    hdu2089 不要62
    洛谷P1831 杠杆数
    洛谷P2113 看球泡妹子
    洛谷P3110 [USACO14DEC]驮运Piggy Back
  • 原文地址:https://www.cnblogs.com/chenlifan/p/13617394.html
Copyright © 2020-2023  润新知