Nginx Rewrite使用场景及配置方法解析


Posted in Servers onApril 01, 2021

Nginx Rewrite使用场景

1.URL地址跳转,例如用户访问pm.com将其跳转到baidu.com或者当用户通过http的方式访问时,将其跳转至https的方式访问。

2.URL伪静态,将动态页面显示为静态页面方式的一种技术,减少动态URL地址对外暴露过多的参数,提升更高的安全性。

3.搜索引擎SEO优化依赖于URL路径,以便支持搜索引擎录入

4.可以调整用户浏览的URL,看起来更规范,合乎开发及产品人员的需求。

配置语法

rewrite regex replacement [flag];

4中flag

last 停止处理后续rewrite指令集,跳出location作用域,并开始搜索与更改后的URI相匹配的location,URL地址不变

break 停止处理后续rewrite指令集,不会跳出location作用域,不再进行重新查找,终止匹配,URL地址不变

redirect 返回302临时重定向,浏览器地址栏会显示跳转后的URL地址,爬虫不会更新自己的URL数据库

permanent 返回301永久重定向,浏览器地址栏会显示跳转后的URL地址,爬虫会更新自己的URL数据库

注:使用last和break时浏览器中的地址不会改变,使用redirect和permanent则会改变

举例说明:

location /abc/ {
  rewrite ^/abc/(.*) /whsir/$1 break;
  return 401;
}
location /opq/ {
  rewrite ^/opq/(.*) /whsir/$1 last;
  return 402;
}
location /whsir/ {
  return 403;
}

输入abc后,如果能匹配到whsir的内容,则返回200,否则返回404

输入opq后,如果能匹配到whsir的内容,则返回403,否则返回404

last和break只返回一个状态码即成功或失败,redirect和permanent会先返回302或301,在返回成功或失败

常用的Nginx全局变量:

例:http://www.pm.com:99/aa/bb/test.php

$host        www.pm.com

$server_port     99

$request_uri     /aa/bb/test.php

$document_root   /pm_code

$request_filename  /pm_code/aa/bb/test.php

案例1:外部跳转

打开lb01虚拟机,先将之前的自定义配置文件关闭,新建/etc/nginx/conf.d/rewrite.conf

Nginx Rewrite使用场景及配置方法解析

注:^/意思为以根(这里根目录为/pm_code,对应域名为www.pm.com)开头的url都会重定向到百度。

修改/etc/nginx/nginx.conf文件

将错误日志级别修改为notice使其能记录到重定向信息(debug, info, notice, warn, error, crit越靠前记录的信息越多)

Nginx Rewrite使用场景及配置方法解析

在http模块中添加一行

rewrite_log on;(打开rewrite日志记录)

测试

在浏览器地址栏中输入www.pm.com(在hosts中已配置好),会重定向到百度首页

Nginx Rewrite使用场景及配置方法解析

案例2:内部跳转

更改/etc/nginx/conf.d/rewrite.conf内容

Nginx Rewrite使用场景及配置方法解析

在/pm_code中创建文件2.html(内容222),在浏览器中输入www.pm.com/1.html

Nginx Rewrite使用场景及配置方法解析

在错误日志中查看记录

Nginx Rewrite使用场景及配置方法解析

使用return

在上述方法中,浏览器地址栏中显示的是1.html,而网页内容是2.html的内容,如果想要地址栏中也显示2.html,将location中的内容更改为 return 302 /2.html; 或者 rewrite .* /2.html redirect;

使用正则

例:将www.pm.com/2020/* 重定向到 www.pm.com/2019/*

Nginx Rewrite使用场景及配置方法解析

括号代表一个整体,$1代表前面第一个括号内的内容

将http跳转到https

Nginx Rewrite使用场景及配置方法解析

注:nginx 1.14版本后可以不用写ssl on了,listen那里写成listen 443 ssl;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Servers 相关文章推荐
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
Apr 04 Servers
制作能在nginx和IIS中使用的ssl证书
Jun 21 Servers
使用nginx配置访问wgcloud的方法
Jun 26 Servers
Nginx部署vue项目和配置代理的问题解析
Aug 04 Servers
Nginx源码编译安装过程记录
Nov 17 Servers
Nginx设置HTTPS的方法步骤 443证书配置方法
Mar 21 Servers
配置Kubernetes外网访问集群
Mar 31 Servers
Nginx静态压缩和代码压缩提高访问速度详解
May 30 Servers
WIN10使用IIS部署ftp服务器详细教程
Aug 05 Servers
Tomcat安装使用及部署Web项目的3种方法汇总
Aug 14 Servers
修改Nginx配置返回指定content-type的方法
Sep 23 Servers
Elasticsearch6.2服务器升配后的bug(避坑指南)
Sep 23 Servers
Nginx解决403 forbidden的完整步骤
Apr 01 #Servers
详解nginx.conf 中 root 目录设置问题
Apr 01 #Servers
小程序后台PHP版本部署运行 LNMP+WNMP
扩展多台相同的Web服务器
Apr 01 #Servers
Nginx安装完成没有生成sbin目录的解决方法
nginx location优先级的深入讲解
Mar 31 #Servers
Nginx反爬虫策略,防止UA抓取网站
Mar 31 #Servers
You might like
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
jQuery-serialize()输出序列化form表单值的方法
2012/12/26 Javascript
jquery对dom的操作常用方法整理
2013/06/25 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
2013/08/01 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
js中精确计算加法和减法示例
2014/03/28 Javascript
AngularJS入门教程(零):引导程序
2014/12/06 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
vue轮播图插件vue-concise-slider的使用
2018/03/13 Javascript
vue项目中应用ueditor自定义上传按钮功能
2018/04/27 Javascript
深入理解JavaScript的async/await
2018/08/05 Javascript
JavaScript数组、json对象、eval()函数用法实例分析
2019/02/21 Javascript
angularjs实现table表格td单元格单击变输入框/可编辑状态示例
2019/02/21 Javascript
微信小程序 slot踩坑的解决
2019/04/01 Javascript
layui在form表单页面通过Validform加入简单验证的方法
2019/09/06 Javascript
vue 全局封装loading加载教程(全局监听)
2020/11/05 Javascript
js前端对于大量数据的展示方式及处理方法
2020/12/02 Javascript
[02:32]DOTA2完美大师赛场馆静安体育中心观赛全攻略
2017/11/08 DOTA
一篇文章了解Python中常见的序列化操作
2019/06/20 Python
Pytorch之保存读取模型实例
2019/12/30 Python
python各层级目录下import方法代码实例
2020/01/20 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
2021/01/27 Python
Interflora澳大利亚:同日鲜花速递
2019/06/25 全球购物
英国家居用品和床上用品零售商:P&B Home
2020/01/16 全球购物
NOTINO英国:在线购买美容和香水
2020/02/25 全球购物
应届生文秘专业个人自荐信格式
2013/09/21 职场文书
开学典礼感言
2014/02/16 职场文书
期末学生评语大全
2014/04/24 职场文书
韩语专业职业生涯规划范文:成功之路就在我们脚下
2014/09/11 职场文书
领导班子在批评与自我批评座谈会上的发言
2014/09/28 职场文书
2016基督教会圣诞节开幕词
2016/03/04 职场文书
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
2021/06/09 Vue.js
MongoDB 常用的crud操作语句
2021/06/20 MongoDB
小程序与后端Java接口交互实现HelloWorld入门
2021/07/09 Java/Android