• nginx的重定向


    nginx的重定向

    rewrite 结合nginx提供的全局变量和自定义的变量,结合正则表达式以及标志位实现URL重写以及重定向

    rewrite 执行顺序

    1、执行server块里的rewrite

    2、 执行location里定义的rewrite

    3、 选定location中的rewrite

    rewrite中可以用if语句(只有if,没有else)

    rewrite语法

    rewrite [flag]

    :正则表示式

    :跳转的内容或者路径

    [ flag ]:标志位,"标记"

    flag位

    1、last

    本条规则匹配完成后,继续向下匹配新的location URI规则

    rewrite ky30 k31 last;

    location / {

    root html

    rewrite last

    }

    2、break

    本条规则匹配完之后立即终止,页面内容变化,uri不变

    3、redirct

    临时重定向302 uri的地址会发生变化

    4、permanent

    永久重定向301 uri的地址会发生变化

    搜索引擎的权重

    永久重定向会加入搜索引擎的排名,但是临时不会加入搜索引擎的权重

    internal redirection cycle while processing

    处理请求时发生了重写或者内部重定向循环,进入了无限循环。nginx循环最多可以执行10次,会报错,500

    总结:rewrite 和 location 都可以跳转,似乎有点像,但是区别在于:rewrite 是在同一域名之内进行更改获取资源的路径;location 是对路径访问控制

    重点:

    location 匹配的写法

    location = /

    精确匹配,完全匹配【优先级最高】

    正则匹配

    location ^~   【第二优先级】

    location ~*  【第二优先级】

    location /test  【第三优先级】

    location /  【第四优先级】

    location 是访问控制,匹配到之后不再向下匹配

    网站设置location规则

    1、精确匹配,主要是为了匹配首页

    2、location ^~   location ~*  指定内容匹配

    3、location /  主要是为了做反向代理,把动态请求转发给后端服务器

    rewrite:

    permanent   永久重定向

    redirect   临时重定向

    break

    跳转,跳转之后不再继续匹配,而且不改变uri

    last

    继续向下匹配,nginx只能循环10次,超过10次就会报错,500

    (internal redirection cycle while processing   处理请求时发生了重写或者内部重定向循环,进入了无限循环。nginx循环最多可以执行10次,超过10次,会报错,500)

  • 相关阅读:
    selenium教程 —— css定位
    boost之测试
    c# SafeGuardLock安全锁mutex
    setTimeout(fn, 0) // it works - JavaScript 事件循环 动画演示
    Web jQuery—属性、元素、尺寸和位置
    内网渗透-常用反弹shell方法总结
    深入理解synchronized背后的原理
    Map集合的entrySet()方法
    【opencv图像处理】-- 5.形态学(膨胀、腐蚀、开闭运算、顶帽、黑帽、二值化)
    【系统架构设计师】第四章 计算机网络
  • 原文地址:https://blog.csdn.net/a91888888/article/details/133834985