• 2.nginx_rewrite模块


    rewrite

    syntax: rewrite regex replacement [flag]
    Default: —
    Context: server, location, if
    • 如果正则表达式(regex)匹配到了请求的URI(request URI),这个URI会被后面的replacement替换
    • rewrite的定向会根据他们在配置文件中出现的顺序依次执行
    • 通过使用flag可以终止定向后进一步的处理
    • 如果replacement以“http://”, “https://”, or “$scheme”开头,处理将会终止,请求结果会以重定向的形式返回给客户端(client)
    • 如果replacement字符串里有新的request参数,那么之前的参数会附加到其后面,如果要避免这种情况,那就在replacement字符串后面加上“?”,eg:
       rewrite ^/users/(.*)$ /show?user=$1? last;=
    • 如果正则表达式(regex)里包含“}” or “;”字符,需要用单引号或者双引号把正则表达式引起来

    可选的flag参数如下:

    • last
    1. 结束当前的请求处理,用替换后的URI重新匹配location;
    2. 可理解为重写(rewrite)后,发起了一个新请求,进入server模块,匹配location;
    3. 如果重新匹配循环的次数超过10次,nginx会返回500错误;
    4. 返回302 http状态码 ;
    5. 浏览器地址栏显示重地向后的url
    • break
    1. 结束当前的请求处理,使用当前资源,不在执行location里余下的语句;
    2. 返回302 http状态码 ;
    3. 浏览器地址栏显示重地向后的url
    •  redirect
    1. 临时跳转,返回302 http状态码;
    2. 浏览器地址栏显示重地向后的url
    • permanent
    1. 永久跳转,返回301 http状态码;
    2. 浏览器地址栏显示重定向后的url
  • 相关阅读:
    webpack
    Js数组和字符串常用方法
    Vue.js 2.0 快速上手
    雅虎前端优化的35条军规
    前端问题大杂烩
    Java和js的区别,以及Java和c的区别
    前后端联调
    99%的人都理解错了HTTP中GET与POST的区别
    vue项目目录
    vuex入门
  • 原文地址:https://www.cnblogs.com/leleyao/p/10627424.html
Copyright © 2020-2023  润新知