Nginx - rewrite模块深度学习

1、Nginx的rewrite规则

  • 作用:

    • 1、实现url重写与重定向。

    • 场景:

      • 1、URL访问跳转,支持开发设计。 页面跳转、兼容性支持(新旧版本更迭)、展示效果(网址精简)等。
      • 2、SEO优化(Nginx伪静态的支持)
      • 3、后台维护、流量转发等。
      • 4、安全(动态界面进行伪装)。
    • 语法讲解
      Syntax: rewrite regex replacement [flag];
      只能支持 Context: server,location,if

    • 实例
      rewrite ^(.*)$ /pages/maintain.html break;

    • flag

      • last 停止rewrite检测,但是会建立新的请求,看后边的location 是否匹配。使用last的话,会继续搜索下面是否有符合条件.
      • break 停止rewrite检测,访问根目录,如果没有发现访问的文件,将返回404.使用break会停止匹配下面的location.
      • redirect 返回302临时重定向,地址栏会显示跳转后的网址
      • parmenent 返回301永久重定向,地址栏会显示跳转后的网址
    • 补充知识 正则表达式

2、 实战

  • 配置Nginx的config文件

3 、Rewrite规则_redirect和permanent区别

  • 修改conf 文件,将 last,修改为redirect 。

从上边可以看出,它是先去请求了一个,返回了一个 location. 然后去请求返回的location 的请求。

  • 临时重定向 与 永久重定向


    image.png
    • permanent : 访问这个网站,将永久重定向到 特定的网站。
    • redirect: 访问这个网站,临时重定向到 特定的网站,当nginx 服务关闭的时候,将无法定向到特定的网站。

4、 rewrite优先级规则

  • 执行server 块的rewrite 指令。将所有的网站都重定向同一个网站。
  • 执行location匹配。
  • 执行选定的location中的rewrite。

微信扫码关注java架构,获取Java面试题和架构师相关题目和视频。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容