rewrite详解

rewrite

语法:rewrite regex replacement flag;,如:

rewrite ^/test/(.*\.jpg)$ /change/$1 break;

[root@nginx ~]# cd /usr/local/nginx/html/
[root@nginx html]# mkdir test
#上传图片test.jpg

修改配置文件

 server {
        listen       80;
  #      server_name  192.168.163.128;

        charset utf-8;

        access_log  logs/host.access.log  main;

        location / {
            root   /www;
            index  index.html index.htm index.php;
        }
        #增加如下内容
         location /test {
               root html;
               index index.html;
        }

重启服务,访问网页

1613015-20190610181247815-1170035118.png

将test目录改为change
[root@nginx html]# vim /usr/local/nginx/conf/nginx.conf
[root@nginx html]# mv test/ change/   
[root@nginx html]# ll
总用量 1260
-rw-r--r--. 1 root root    537 10月 18 08:42 50x.html
-rw-r--r--. 1 root root    612 10月 18 08:42 index.html
drwxr-xr-x. 2 root root     22 10月 24 16:20 change

修改配置文件

         location /haha {
               root html;
               index index.html;
               rewrite ^/test/(.*\.jpg)$ /change/$1 break;    #增加这一行
        }

重启服务,重新请求
1613015-20190610181312686-936722247.png

1613015-20190610181322936-1777676482.png

可看到虽然没有test目录,但仍可访问到文本文件,URL重写成功
我们也可以让url做多次跳转,最多可以跳20次
二次跳转实例
实验思路
客户端发出的请求改变后的URL(test)———>改变后的URL(change )——>https://blog.csdn.net/qq_43094192
修改配置文件

location /test {
               root html;
               index index.html;
               rewrite ^/test/(.*\.jpg)$ /change/$1 last;       #将break换成last
        }     
        #增加如下内容,再次跳转到博客链接结束
         location /change {
               rewrite  ^/change/(.*\.jpg)$ https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=965139422,648637599&fm=27&gp=0.jpg break;
        }
重启nginx

1613015-20190610181352718-1922845319.png

1613015-20190610181404691-1604430725.png

转载于:https://www.cnblogs.com/cljhfy/p/10999390.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值