nginx重定向rewrite
引入rewrite
vim /etc/nginx/conf.d/mobile_pc.conf
server{
listen 80;
server_name www.zls.com zls.com;
root /mobile_pc;
index index.html;
if ( $http_user_agent ~* "Android" ){
rewrite ^/$ http://$host/android redirect;
}
if ( $http_user_agent ~* "iPhone|iPad" ){
rewrite ^/$ http://$host/ios redirect;
}
}
rewrite介绍
1.什么rewrite?
将浏览器,发送到服务器的请求(url),根据规则重写,返回给用户
到底要干什么:就是修改url
为什么要修改url:为了安全,为了提高用户的体验
2.为什么要使用rewrite
就是为了修改URL,从而提高用户的体验
rewrite作用:
1.80强转443(提高用户的体验)
2.匹配客户端规则,返回对应页面(提高用户的体验)
3.伪静态(SEO)
什么是伪静态?
原本的动态也面,需要调用数据库,但是在浏览器中的url里,返回的是一个静态页面以html,css,js,shtml
为什么要做伪静态?
1.安装
2.为了SEO
3.如何使用rewrite
Rewrite标记Flag
rewrite
指令根据表达式来重定向URL
,或者修改字符串,可以应用于server,location,if
环境下,每行rewrite
指令最后跟一个flag
标记,支持的flag
标记有如下表格所示:
flag | 作用 |
---|---|
last | 本条规则匹配完成后,停止匹配,不再匹配后面的规则 |
break | 本条规则匹配完成后,停止匹配,不再匹配后面的规则 |
redirect | 返回302临时重定向,地址栏会显示跳转后的地址 |
permanent | 返回301永久重定向,地址栏会显示跳转后的地址 |
server {
listen 80;
server_name r.drz.com;
root /code;
location /abc {
rewrite (.*) /ccc/bbb/2.html redirect;
}
location /2018 {
rewrite ^/2018/(.*) /2014/$1 redirect;
}
location / {
#rewrite 正则 替换内容 redirect;
#rewrite 正则 /course/11/22/33/course_33.html redirect;
rewrite ^/couese-(.*)-(.*)-(.*).html$ /course/$1/$2/$3/course_$3.html redirect;
# 不仅是不灵活,需求写死了,永远都是一个页面
#rewrite ^/couese-(.*) /course/11/22/33/course_33.html redirect;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具