主页 > 知识库 > nginx rewrite 实现URL跳转的方法

nginx rewrite 实现URL跳转的方法

热门标签:百度竞价点击价格的计算公式 使用U盘装系统 检查注册表项 美图手机 阿里云 智能手机 硅谷的囚徒呼叫中心 网站建设

最近工作中常常要改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跳转的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

标签:湘潭 黄山 烟台 湖北 怀化 山南 通辽 贺州

巨人网络通讯声明:本文标题《nginx rewrite 实现URL跳转的方法》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266