zoukankan      html  css  js  c++  java
  • nginx rewrite 模块

    nginx rewrite 模块

    return 指令

    (1) 语法

    (2) CODE

    • 301 永久重定向

    • 302 临时重定向,禁止缓存

    • 303 临时重定向,允许改变请求方法,临时重定向,禁止缓存

    • 307 临时重定向,不允许改变请求方法,临时重定向,禁止缓存

    • 308 永久重定向,不允许改变请求方法

    (3) return 在各上下文的执行顺序
    server return > location return > error_page

    rewrite 指令

    last 和 break 区别演示

    假设 html 根目录如下:

    
    ```nginx
    location /first {
      rewrite /first(.*) /second$1 break;
      return 200 "first";
    }
    
    location /second {
      rewrite /second(.*) /third$1 last;
      return 200 "second";
    }
    
    location /test {
      rewrite /xxxtest(.*) /second$1 break;
      return 200 "test";
    }
    
    location /third {
      return 200 "third";
    }
    

    演示 last 与 break 区别:

    (1)访问 /first/1.html,会重定向到 /second$1,此时使用了 break,则停止继续匹配,直接访问 /second/1.html,这里返回 404

    (2)访问 /second/3.html,会重定向到 /third$1,此时使用了 last,所以不会直接输出 /third/3.html,而是继续匹配,进入 location /third,然后返回 third

    (3)访问 /test/1.html,此时 location /test 下的 rewrite 重定向失败(匹配失败),会直接走后面的 return 语句,返回 test

    rewrite 301/302 重定向

    开启 rewrite_log

    rewrite_log 开启后,可以看到重定向日志,以便调试

  • 相关阅读:
    python -- 内存与垃圾回收源码分析
    机器学习:决策树
    leetcode -- 树操作
    树:基本树形
    树:遍历算法
    查找:字符串匹配算法 -- KMP
    Java 8 新特性
    Java学习书籍推荐
    Guava基本工具--Throwables:简化异常和错误的传播与检查
    Guava基本工具--排序: Guava强大的”流畅风格比较器”
  • 原文地址:https://www.cnblogs.com/GManba/p/14092778.html
Copyright © 2011-2022 走看看