初识Nginx重定向
一、前言
什么是重定向呢?
重定向是一个非常常用的功能,在 web 服务中,通常会通过重定向功能,将一个域名的请求转发到另一个域名上。
什么情况下用到重定向?
举例:假设你有一个域名为 aaa.com
网站, 但后面希望改版到 bbb.com
这个域名上,为了尽可能继承原网站的 SEO ,在新域名上线前期,需要将旧域名的流量全部汇聚到新域名的站点上来,此时就需要用到重定向功能了。
在原服务上设定重定向规则后,当原服务器收到外部的来访请求时,会根据你设定的重定向规则,将请求重定向到新服务器上。
继续上面的例子,当用户访问 http://aaa.com/index.html
时,源服务器会告诉来访用户,你要的资源在 http://bbb.com/index.html
服务器上,你去找它要吧,此时来访用户根据源服务器的通知,重新到新服务器去获取资源,这就完成了请求的重定向。
重定向类型?
常用的重定向类型有 301
和 302
两种,本文主要介绍 301
跳转。
** 哪些服务器可以设置重定向?**
常用的 Web
服务器都提供重定向功能,如 Nginx
、 Apache
、Tomcat
,本文主要介绍 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 的重定向功能时,除了可以重定向到新域名,还可以将请求重定向到特定的协议上。
你可以手动指定重定向到 http
或 https
协议,也可通过 $scheme
参数继承用户来访时使用的协议类型。
如:在重定向域名时,继承用户来访时使用的协议类型。
server {listen 80;server_name mydomain.com;return 301 $scheme://anotherdomain.com$request_uri;
}
三、总结
- 指向的新域名,其后的
/
不需要填写。 - 重定向时也可以重定向到新的服务端口,在域名后已
:端口号
的方式添加即可。 - 301 & 302 跳转的区别 ?
- 301 永久跳转,当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息中的状态码的一种,表示本网页永久性转移到另一个地址。
- 302 临时跳转,也是状态码的一种,意义是暂时转向到另外一个网址。
四、思路拓展
上述实例的跳转影响范畴较大,其实我们还可以引入判断,将跳转控制在一个更灵活的维度上。
如:Nginx 上监听了多个域名的web服务,你可通过条件判断:
- 设定某些域名或其二级、三级域名资源跳转;
- 设定域名下仅特定的文件跳转(基于文件后缀);
- 设定域名下仅特定路径的资源跳转。
初识Nginx重定向相关推荐
- 初识Nginx及编译安装Nginx
初识Nginx及编译安装Nginx 环境说明: 系统版本 CentOS 6.9 x86_64 软件版本 nginx-1.12.2 1.什么是Nginx? 如果你听说或使用过Apache软件 ...
- 初识 NGINX 服务网格
https://mp.weixin.qq.com/s/uyMmVum5midT8uhC0HDJPw 初识 NGINX 服务网格 NGINX开源社区 今天 以下文章来源于Cloud Native Com ...
- nginx重定向规则入门
nginx重定向规则的入门实例 时间:2015-12-17 15:18:03来源:网络 导读:nginx重定向规则,Nginx的重定向模块HttpRewriteModule的用法说明,nginx重定向 ...
- 初识Nginx四:nginx代理服务器配置缓存
文章目录 一.背景 二.配置 三.测试 四.注意点 一.背景 在上篇文章<初识Nginx二:配置一个反向代理服务器>中,我们成功通过Nginx的反向代理功能访问了上游的应用服务器. 在实际 ...
- Lamp架构-nginx重定向以及防盗链
nginx重定向以及防盗链 重定向 防止恶意域名解析到服务器IP,消耗服务器资源 直接返回500 重定向至另一个不影响服务器的域名 重定向至加密站点 网站迁移 www.westos.org/bbs - ...
- nginx重定向与防盗链
一.nginx重定向 1.防止域名恶意解析到服务器ip 如果别人将其他域名绑定到你服务器的公网IP上,就会大量的耗你网站的流量 1)如果直接访问ip,返回500错误代码 server {listen ...
- LAMP架构之nginx:nginx重定向+防盗链
LAMP架构之nginx:nginx重定向+防盗链 一.nginx重定向 1.防止域名恶意解析到服务器IP,rewrite(URL重定向) 2.重定向做全站加密 3.网站的整体迁移 二.nginx防盗 ...
- php nginx 域名重定向,Nginx 重定向时获取域名
TL;DR 如果你在处理 Nginx 重定向时要获取原请求的域名(比如 HTTP 到 HTTPS),请用 $host 而不是 $server_name . 问题和解决方案 今天碰到一个问题,服务器上一 ...
- nginx 重定向到系统维护页面
上周末兄弟项目准备扩展服务器以便提供更好的服务,兄弟项目有一些功能是实时提供到我这边的,需要我这边暂时把对应系统功能屏蔽,因为使用nginx,所以可以直接配置nginx重定向到固定系统维护页面. ng ...
最新文章
- oracle数据库 pc6,使用logdump 查看ogg的CSN
- matlab利用数据求公式,matlab新手,求帮助!主要是如何将数据和公式导入
- eclipse配置springboot开发
- 新人工智能算法速度无极限
- 反激式开关电源中PC817与TL431的配合电路探讨
- 爆赞!Jetpack-MVVM-高频提问和解答,满满干货指导
- Windows Azure Marketplaces上的Bing Search API可用啦!
- easyui学习笔记一:主要结构
- 访问不上服务器的任何端口
- Java中startWith方法的使用!
- 一张“黑洞”照片需半吨重硬盘?!
- 百度宣布成立量子计算研究所,段润尧加盟任所长
- Spring-BeanPostProcessor的执行顺序
- java在Intellij上使用sigar
- 《架构之美》pdf书籍
- 电脑主板上的一些电子元件
- 怎么用浏览器访问计算机文件共享,如何用ES文件浏览器完全共享电脑里的文件流程...
- 【小程序源码】云开发表情包制作神器微信小程序源码下载,支持各种自定义
- labuladong 公众号的使用方法
- Sum of Medians CodeForces - 85D(线段树+离散化)