一、前言

什么是重定向呢?

重定向是一个非常常用的功能,在 web 服务中,通常会通过重定向功能,将一个域名的请求转发到另一个域名上。

什么情况下用到重定向?

举例:假设你有一个域名为 aaa.com 网站, 但后面希望改版到 bbb.com 这个域名上,为了尽可能继承原网站的 SEO ,在新域名上线前期,需要将旧域名的流量全部汇聚到新域名的站点上来,此时就需要用到重定向功能了。

在原服务上设定重定向规则后,当原服务器收到外部的来访请求时,会根据你设定的重定向规则,将请求重定向到新服务器上。

继续上面的例子,当用户访问 http://aaa.com/index.html 时,源服务器会告诉来访用户,你要的资源在 http://bbb.com/index.html 服务器上,你去找它要吧,此时来访用户根据源服务器的通知,重新到新服务器去获取资源,这就完成了请求的重定向。

重定向类型?

常用的重定向类型有 301302 两种,本文主要介绍 301 跳转。

** 哪些服务器可以设置重定向?**

常用的 Web 服务器都提供重定向功能,如 NginxApacheTomcat ,本文主要介绍 Nginx 的重定向配置使用。

二、重定向实例

下面通过 3 个简单的实例,介绍 Nginx 301 重定向的配置方法。

2.1 重定向请求到特定网址

下方示例演示:将域名 mydomain.com 的所有请求,重定向到特定的网址 http://anotherdomain.com/dir1/index.php 上。

server {listen 80;server_name mydomain.com;return 301 http://anotherdomain.com/dir1/index.php;
}

2.2 重定向请求其他域名

下方示例演示:将域名 mydomain.com 重定向到 anotherdomain.com 新域名上,但访问的资源路径不变。

具体效果:
源URL:http://mydomain.com/dir/1.jpg
重定向后的URL:http://anotherdomain.com/dir/1.jpg

server {listen 80;server_name mydomain.com;return 301 http://anotherdomain.com$request_uri;
}

2.3 将请求重定向到特定协议

使用 Nginx 的重定向功能时,除了可以重定向到新域名,还可以将请求重定向到特定的协议上。

你可以手动指定重定向到 httphttps 协议,也可通过 $scheme 参数继承用户来访时使用的协议类型。

如:在重定向域名时,继承用户来访时使用的协议类型。

server {listen 80;server_name mydomain.com;return 301 $scheme://anotherdomain.com$request_uri;
}

三、总结

  1. 指向的新域名,其后的 / 不需要填写。
  2. 重定向时也可以重定向到新的服务端口,在域名后已 :端口号 的方式添加即可。
  3. 301 & 302 跳转的区别 ?
    • 301 永久跳转,当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息中的状态码的一种,表示本网页永久性转移到另一个地址。
    • 302 临时跳转,也是状态码的一种,意义是暂时转向到另外一个网址。

四、思路拓展

上述实例的跳转影响范畴较大,其实我们还可以引入判断,将跳转控制在一个更灵活的维度上。

如:Nginx 上监听了多个域名的web服务,你可通过条件判断:

  1. 设定某些域名或其二级、三级域名资源跳转;
  2. 设定域名下仅特定的文件跳转(基于文件后缀);
  3. 设定域名下仅特定路径的资源跳转。

初识Nginx重定向相关推荐

  1. 初识Nginx及编译安装Nginx

    初识Nginx及编译安装Nginx 环境说明: 系统版本    CentOS 6.9 x86_64 软件版本    nginx-1.12.2 1.什么是Nginx? 如果你听说或使用过Apache软件 ...

  2. 初识 NGINX 服务网格

    https://mp.weixin.qq.com/s/uyMmVum5midT8uhC0HDJPw 初识 NGINX 服务网格 NGINX开源社区 今天 以下文章来源于Cloud Native Com ...

  3. nginx重定向规则入门

    nginx重定向规则的入门实例 时间:2015-12-17 15:18:03来源:网络 导读:nginx重定向规则,Nginx的重定向模块HttpRewriteModule的用法说明,nginx重定向 ...

  4. 初识Nginx四:nginx代理服务器配置缓存

    文章目录 一.背景 二.配置 三.测试 四.注意点 一.背景 在上篇文章<初识Nginx二:配置一个反向代理服务器>中,我们成功通过Nginx的反向代理功能访问了上游的应用服务器. 在实际 ...

  5. Lamp架构-nginx重定向以及防盗链

    nginx重定向以及防盗链 重定向 防止恶意域名解析到服务器IP,消耗服务器资源 直接返回500 重定向至另一个不影响服务器的域名 重定向至加密站点 网站迁移 www.westos.org/bbs - ...

  6. nginx重定向与防盗链

    一.nginx重定向 1.防止域名恶意解析到服务器ip 如果别人将其他域名绑定到你服务器的公网IP上,就会大量的耗你网站的流量 1)如果直接访问ip,返回500错误代码 server {listen ...

  7. LAMP架构之nginx:nginx重定向+防盗链

    LAMP架构之nginx:nginx重定向+防盗链 一.nginx重定向 1.防止域名恶意解析到服务器IP,rewrite(URL重定向) 2.重定向做全站加密 3.网站的整体迁移 二.nginx防盗 ...

  8. php nginx 域名重定向,Nginx 重定向时获取域名

    TL;DR 如果你在处理 Nginx 重定向时要获取原请求的域名(比如 HTTP 到 HTTPS),请用 $host 而不是 $server_name . 问题和解决方案 今天碰到一个问题,服务器上一 ...

  9. nginx 重定向到系统维护页面

    上周末兄弟项目准备扩展服务器以便提供更好的服务,兄弟项目有一些功能是实时提供到我这边的,需要我这边暂时把对应系统功能屏蔽,因为使用nginx,所以可以直接配置nginx重定向到固定系统维护页面. ng ...

最新文章

  1. oracle数据库 pc6,使用logdump 查看ogg的CSN
  2. matlab利用数据求公式,matlab新手,求帮助!主要是如何将数据和公式导入
  3. eclipse配置springboot开发
  4. 新人工智能算法速度无极限
  5. 反激式开关电源中PC817与TL431的配合电路探讨
  6. 爆赞!Jetpack-MVVM-高频提问和解答,满满干货指导
  7. Windows Azure Marketplaces上的Bing Search API可用啦!
  8. easyui学习笔记一:主要结构
  9. 访问不上服务器的任何端口
  10. Java中startWith方法的使用!
  11. 一张“黑洞”照片需半吨重硬盘?!
  12. 百度宣布成立量子计算研究所,段润尧加盟任所长
  13. Spring-BeanPostProcessor的执行顺序
  14. java在Intellij上使用sigar
  15. 《架构之美》pdf书籍
  16. 电脑主板上的一些电子元件
  17. 怎么用浏览器访问计算机文件共享,如何用ES文件浏览器完全共享电脑里的文件流程...
  18. 【小程序源码】云开发表情包制作神器微信小程序源码下载,支持各种自定义
  19. labuladong 公众号的使用方法
  20. Sum of Medians CodeForces - 85D(线段树+离散化)

热门文章

  1. C#实现发送钉钉工作通知消息
  2. 分布式文件系统----FastDFS
  3. Python--[项目]机器学习之电影推荐系统[基于物品的协同过滤](代码版)
  4. 自定义Word 2010导航窗格快捷键
  5. java nextline next_Java程序无法正确提取nextLine()
  6. GC8548双通道H桥电机驱动芯片
  7. kubernete编排技术三:StatefulSet
  8. 如何查看MySQL当前连接数
  9. 数学模型-多属性决策
  10. 设计师必看!一个熬夜不伤身的小秘诀