标签:last rewrite nana com Rewrite break Nginx location 重写
Rewrite基本概述
什么是Rewrite
- Rewrite主要实现url地址重写,以及重定向,就是把传入Web的请求重定向到其他URL的过程。
Rewrite使用场景
- 地址跳转,用户访问www.nana.com这个URL时,将其定向至一个新的域名 dada.nana.com。
- 协议跳转,用户通过http协议请求网站时,将其重新跳转至https协议方式。
- 伪静态,将动态页面显示为静态页面方式的一种技术,便于搜索引擎的录入,同时减少动态URL地址对外暴露过多的参数,提升更高的安全性。
- 搜索引擎,SEO优化依赖于URL路径,好记的URL便于支持搜索引擎录入。
Rewrite标记Flag
rewrite指令根据表达式来重定向url
,或者修改字符串。可以应用于server,location,if
环境下,每行rewrite
指令最后跟一个flag
标记,支持flag
标记如下所示:
last 本条规则匹配完成后,停止匹配,不再匹配后面的规则 # 开发用的比较多
break 本条规则匹配完成后,停止匹配,不再匹配后面的规则 # 开发用的比较多
redirect 返回302临时重定向,地址栏会显示跳转后的地址
permanent 返回301永久重定向,地址栏会显示跳转后的地址
last与break的区别对比
- lb01服务器
1. 修改Nginx配置文件
vim /etc/nginx/conf.d/rewrite.conf
server {
listen 80;
server_name rewrite.nana.com;
root /code;
location ~ ^/break {
rewrite ^/break /test/ break;
}
location ~ ^/last {
rewrite ^/last /test/ last;
}
location /test/ {
default_type application/json;
# 定义字符串类型,参照/etc/nginx/mime.types文件
return 200 "ok";
}
}
2. 重启Nginx服务
systemctl restart nginx
3. 在本机添加域名解析
C:\Windows\System32\drivers\etc
在hosts文件添加域名解析
192.168.15.5 rewrite.nana.com
- 测试
我们在浏览器中输入rewrite.nana.com/last,可以正常访问到ok。
输入rewrite.nana.com/break,页面返回404错误。
break
- 请求
rewrite.nana.com/break
首先 : 会去查找本地的/code/test/index.html
(默认静态文件)的内容;
如果没有找到该目录则报错404,如果找到了该目录但是没有找到对应的文件则报错403。
last
- 请求
rewrite.nana.com/last
首先 : 会对当前server层重新的发起一次请求,rewrite.nana.com/test/
。
如果有location规则匹配上,则直接返回该location的内容;
如果没有location规则匹配上,会再去查找本地的/code/test/index.html
(默认静态文件)的内容;
如果没有找到该目录则报错404,如果找到了该目录但是没有找到对应的文件则报错403。
标签:last,rewrite,nana,com,Rewrite,break,Nginx,location,重写 来源: https://blog.csdn.net/Yosigo_/article/details/117263312
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。