nginx rewrite 实现URL跳转的方法
程序员文章站
2022-04-06 11:30:47
最近工作中常常要改nginx配置,学习了nginx中rewrite的用法
url跳转
这里说的url跳转就是用户在访问一个url时将其跳转到另一个url上。
常见的应...
最近工作中常常要改nginx配置,学习了nginx中rewrite的用法
url跳转
这里说的url跳转就是用户在访问一个url时将其跳转到另一个url上。
常见的应用场景是让多个域名跳转到同一个url上,(例如让旧域名跳转到新域名上)
将静态文件请求跳转到cdn上等
根据用户设备跳转到不同站点(pc版,wap版)等。
url跳转可以通过js在页面上设置的window.location实现
也可以通过php设置header来实现
当然也可以用nginx 的 rewrite功能实现
nginx rewrite模块
rewrite 是 nginx的静态重写模块
基本用法是 rewrite patten replace flag
patten是正则表达式,与patten匹配的url会被改写为replace,flag可选
例如将旧域名跳转到新域名上
server { listen 80; server_name www.old.com; rewrite ".*" http://www.new.com; }
跳转到新域名上时保留路径
server { listen 80; server_name www.old.com; rewrite "^/(.*)$" http://www.new.com/$1; } rewrite与location配合实现图片文件跳转到cdn location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; rewrite "^/uploadfile\/(.*)$" http://static.xxx.com/uploadfile/$1; }
rewrite 后面可以加flag,flag标记有:
last 相当于apache里的[l]标记,表示完成rewrite
break 终止匹配, 不再匹配后面的规则
redirect 返回302临时重定向 地址栏会显示跳转后的地址
permanent 返回301永久重定向 地址栏会显示跳转后的地址
以上这篇nginx rewrite 实现url跳转的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
上一篇: CSS3标注引用的出处和来源的方法
下一篇: Nginx配置防盗链的完整步骤
推荐阅读
-
PHP跳转代码的实现方法讲解_PHP教程
-
JS实现点击链接取消跳转效果的方法_javascript技巧
-
最简单实现跨域的方法:使用nginx反向代理
-
thinkpad win7 oem 让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
-
php实现根据url自动生成缩略图的方法_PHP
-
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法_node.js
-
Symfony2实现在controller中获取url的方法_php实例
-
php实现根据url自动生成缩略图的方法_php技巧
-
iOS中模态Model视图跳转和Push视图跳转的需求实现方法
-
ASP.NET实现根据URL生成网页缩略图的方法