9.rewrite规则

1.功能

实现url重写以及重定向

2.场景
  • URL访问跳转,支持开发设计

    • 页面跳转、兼容性支持、展示效果等
  • SEO优化

  • 维护

    • 后台维护、流量转发等
  • 安全

3.配置语法
Syntax: rewrite regex replacement [flag];
Default: -
Context:server, location, if

配置示例

rewrite ^(.*)$/pages/maintain.html break

4.flag
last停止rewrite检测
break停止rewrite检测
redirect返回302临时重定向,地址栏会显示跳转后的地址
permanent返回301永久重定向,地址栏会显示跳转后的地址
5.配置
server {
    listen 80 default_server;
    server_name localhost;

    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"}';
    }
}
6.break与last的区别

在/opt/app/code目录下没有test文件夹,请求break会出现404,请求last会成功请求,break没有继续请求后面的test,而last请求了后面的test,请求了下面的定义的链接

server {
    listen       80;
    server_name  localhost;

    root   /opt/app/code;

    location / {
        rewrite ^/course-(\d+)-(\d+)-(\d+)\.html$ /course/$1/$2/course_$3.html break;
        
        if ($http_user_agent ~* Chrome) {
            rewrite ^/nginx http://coding.imooc.com/class/121.html redirect;
        } 

        if (!-f $request_filename) {
            rewrite ^/(.*)$ http://www.baidu.com/$1 redirect;
        }
        index  index.html index.htm;
    }

}
8.Rewrite规则优先级

执行server块的rewrite指令

执行location匹配

执行选定的location中的rewrite

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值