Nginx rewrite
Nginx rewrite
URL组成 http://www.wingsredevsecops.top/download?name=docker.pdf
这个URL的格式可以分为以下⼏个部分:
-
协议部分:指定了访问资源的协议,这个URL使⽤了默认的协议HTTP、HTTPS。
-
域名部分:指定服务器的域名和顶级域名,这个URL的域名部分是www.wingsredevsecops.top。
-
路径部分:指定了服务器上要访问的资源的路径,这个URL的路径部分是/download。
-
查询部分:包含了向服务器请求资源时所附带的数据,以键值对的形式进⾏传递,这个URL的查询部分是
name=docker.pdf。
因此,这个URL的格式可以表示为:
议部分使⽤了默认的HTTP协议,域名部分为www.wingsredevsecops.top,路径部分为/download,查询部分为
name=docker.pdf。
1.Rewrite****基本概述
rewrite 主要实现 url 地址重写, 以及重定向.
Rewrite****使⽤场景
1.URL访问跳转: ⽀持开发设计, ⻚⾯跳转, 兼容性⽀持, 展示效果 www.wingsredevsecops.top/a.html 实际
www.wingsredevsecops.top/b.html
2.SEO优化: 依赖于url路径,以便⽀持搜索引擎录⼊
3.维护: 后台维护, 流量转发等
4.安全: 伪静态,真实动态⻚⾯进⾏伪装
2.Rewrite****配置语法
server {
listen 80;
server_name rewrite.zgw.top;
root /soft/code;
location ~ ^/break{
rewrite ^/break /testc/ break;
}
location ~ ^/last{
rewrite ^/last /test/ last;
}
location /test/{
default_type application/json;
return 200 '{"status":"success"}';
}
}
3.Rewrite标记Flag
server {
listen 80;
server_name rewrite.zgw.top;
root /soft/code;
location ~ ^/wing {
rewrite ^/wing https://yuque.com/egrep redirect;
\#rewrite ^/wing https://yuque.com/egrep permanent;
}
}
4.Rewrite使⽤场景
server {
listen 80;
server_name rewrite.zgw.top;
root /soft/code/;
location / {
rewrite ^/course-(\d+)-(\d+)-(\d+)\.html /course/$1/$2/course_$3.html break;
}
location ~ ^/wing {
\# rewrite ^/wing https://yuque.com/egrep redirect;
rewrite ^/wing https://yuque.com/egrep permanent;
}
}