• Nginx详解十八:Nginx深度学习篇之Rewrite规则


    Rewrite规则可以实现对url的重写,以及重定向

    作用场景:

    1、URL访问跳转,支持开发设计,如页面跳转,兼容性支持,展示效果等

    2、SEO优化

    3、维护:后台维护、流量转发等

    4、安全

    配置语法

    配置语法:rewrite regex replacement [flag];
    默认状态:-
    配置方法:server、location、if
    如:rewrite ^(.*)$ /pages/maintain.html break;

    常用的正则表达式

    在linux下,可以用pcretest来测试

    flag:

    server {
    listen 80 default_server;
    server_name jeson.t.imooc.io;

    access_log /var/log/nginx/log/host.access.log main;

    root /opt/app/code;
    location ~ ^/break {
    rewrite ^/break /test/ break;
    }

    location ~ ^/last {
    rewrite ^/last /test/ last;
    }

    location /test/ {
    default_type application/json;
    return 200 '{"status":"success"}';
    }
    }

    检查配置语法并重载

    nginx -tc /etc/nginx/nginx.conf 
    nginx -s reload -c /etc/nginx/nginx.conf

     

    server {
    listen 80 default_server;
    server_name jeson.t.imooc.io;

    access_log /var/log/nginx/log/host.access.log main;

    root /opt/app/code;
    location ~ ^/break {
    rewrite ^/break /test/ break;
    }

    location ~ ^/last {
    rewrite ^/last /test/ last;
    #rewrite ^/last /test/ redirect;
    }

    location ~ ^/imooc {
    rewrite ^/imooc http://www.imooc.com/ permanent;
    #rewrite ^/imooc http://www.imooc.com/ redirect;
    }

    location /test/ {
    default_type application/json;
    return 200 '{"status":"success"}';
    }
    }

    检查并重启

    Rewrite规则优先级

    执行server块的rewrite > 执行location匹配 > 执行选定的location中的rewrite

    Rewrite规则书写

    RewriteCode %{HTTP_HOST} nginx.org

    RewriteRule (.*) 

  • 相关阅读:
    Linux 添加Nginx 到 service 启动
    PHP编译安装时常见错误解决办法,php编译常见错误
    7 适配器模式
    6 单例模式及其多线程问题
    5 简单工厂、工厂、抽象工厂
    4 装饰者模式
    3 观察者模式
    2 策略模式
    1 UML基础
    代码操作Word时,目录自动更新的两种方法
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/10527542.html
Copyright © 2020-2023  润新知