rewrite
语法:rewrite regex replacement flag;,如:
rewrite ^/images/(.*\.jpg)$ /imgs/$1 break;
[root@nginx ~]# cd /usr/local/nginx/html/
[root@nginx html]# mkdir haha
#上传一张图片改名为haha.jpg
修改配置文件
server {
listen 80;
# server_name 192.168.118.128;
charset utf-8;
access_log logs/host.access.log main;
location / {
root /www;
index index.html index.htm index.php;
}
#增加如下内容
location /haha {
root html;
index index.html;
}
重启服务,访问网页
将haha目录改为lala
[root@nginx html]# vim /usr/local/nginx/conf/nginx.conf
[root@nginx html]# mv haha/ lala/
[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 lala
修改配置文件
location /haha {
root html;
index index.html;
rewrite ^/haha/(.*\.jpg)$ /lala/$1 break; #增加这一行
}
重启服务,重新请求
可看到虽然没有haha目录,但仍可访问到图片,URL重写成功
我们也可以让url做多次跳转,最多可以跳20次
二次跳转实例
实验思路
客户端发出的请求改变后的URL(haha)———>改变后的URL(lala )——>https://blog.csdn.net/qq_41652038
修改配置文件
location /haha {
root html;
index index.html;
rewrite ^/haha/(.*\.jpg)$ /lala/$1 last; #将break换成last
}
#增加如下内容,再次跳转到博客链接结束
location /lala {
rewrite ^/lala/(.*\.jpg)$ https://blog.csdn.net/qq_43094192 break;
}
重启nginx
实现跳转