• 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)

  • 相关阅读:
    springboot使用自定义属性类
    解决Matlab中文乱码问题,再也不用升级Matlab版本啦
    对示例程序spinner_asyncio.py进行修改使其能运行
    PyTorch学习笔记-完整训练模型的方法
    正交试验测试用例设计及工具推荐
    HarmonyOS 实战项目
    精准同步时钟系统计时器在工业领域的运用
    C认证笔记 - 计算机通识 - 进制转换
    神奇的 SQL ,高级处理之 Window Functions → 打破我们的局限!
    借助AI分析哥斯拉木马原理与Tomcat回显链路挖掘
  • 原文地址:https://blog.csdn.net/a91888888/article/details/133834985