nginx查看rewrite日志(Nginx Rewrite使用场景及配置方法解析)
nginx查看rewrite日志
Nginx Rewrite使用场景及配置方法解析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
注:^/意思为以根(这里根目录为/pm_code,对应域名为www.pm.com)开头的url都会重定向到百度。
修改/etc/nginx/nginx.conf文件
将错误日志级别修改为notice使其能记录到重定向信息(debug, info, notice, warn, error, crit越靠前记录的信息越多)
在http模块中添加一行
rewrite_log on;(打开rewrite日志记录)
测试
在浏览器地址栏中输入www.pm.com(在hosts中已配置好),会重定向到百度首页
案例2:内部跳转
更改/etc/nginx/conf.d/rewrite.conf内容
在/pm_code中创建文件2.html(内容222),在浏览器中输入www.pm.com/1.html
在错误日志中查看记录
使用return
在上述方法中,浏览器地址栏中显示的是1.html,而网页内容是2.html的内容,如果想要地址栏中也显示2.html,将location中的内容更改为 return 302 /2.html; 或者 rewrite .* /2.html redirect;
使用正则
例:将www.pm.com/2020/* 重定向到 www.pm.com/2019/*
括号代表一个整体,$1代表前面第一个括号内的内容
将http跳转到https
注:nginx 1.14版本后可以不用写ssl on了,listen那里写成listen 443 ssl;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
- nginx跨域怎么用(如何利用map实现Nginx允许多个域名跨域)
- nginx怎么实现反向代理(nginx反向代理时如何保持长连接)
- 静态web服务器nginx(WEB服务器该选择 Apache 还是 Nginx?)
- nginx日志配置详细教程(Nginx访问日志及错误日志参数说明)
- nginx http转https配置(Nginx配置并兼容HTTP实现代码解析)
- nginx keepalived配置(Nginx+Keepalived实现Web服务器高可用)
- nginx学习需要哪些知识(一篇文章搞懂Nginx是什么,能干什么)
- nginx事件模型有几种(Python实现监控Nginx配置文件的不同并发送邮件报警功能示例)
- nginx跳转规则配置上下文(基于nginx实现上游服务器动态自动上下线无需reload的实现方法)
- nginx启动报错连接失败(宝塔面板Nginx环境中出现404 Not Found的解决方法)
- nginx给需要转发的链接添加参数(Nginx 根据URL带的参数转发的实现)
- dockernginx服务器教程(Docker镜像+nginx 部署 vue 项目的方法)
- nginx的最大并发(nginx限制并发连接请求数的方法)
- nginx做图片服务器代理(使用nginx动态转换图片大小生成缩略图)
- 如何提高nginx性能(提升Nginx性能的一些建议)
- nginx的15种优化方案(Nginx开启Brotli压缩算法实现过程详解)
- 乾隆为何这么喜爱白塔原因是什么(乾隆为何这么喜爱白塔原因是什么)
- 逐渐消失的东北八大怪现象,进步的社会里我们遗失的是什么(逐渐消失的东北八大怪现象)
- 今日大雪,大雪养生这样做,一年都有好气色(大雪养生这样做)
- 粗盐是什么 粗盐的功效与作用(粗盐的功效与作用)
- 会 吃人 的客机 从天堂到地狱只需5分钟,图-104如何做到(会吃人的客机)
- 男人犯的错,为什么要女人来承担(为什么要女人来承担)
热门推荐
- 织梦dedecms网站后台数据(DEDECMS织梦系统的会员调用方法详细介绍)
- pythondjango后台管理(基于腾讯云服务器部署微信小程序后台服务Python+Django)
- php7语法代码规范(PHP7新功能总结)
- apache服务部署tomcat(详解Apache 和 Tomcat 整合原理、配置方案)
- SQL Server数据库备份的几个建议
- html5 canvas 性能(基于html5 canvas做批改作业的小插件)
- php性能优化的思路和步骤(FastCGI轻松搞定IIS7.5+PHP5.6.0环境)
- docker配置和启动(Docker的安装与配置命令代码实例)
- python怎么安装queue(python队列Queue的详解)
- 阿里云服务器更改登录密码(阿里云服务器怎么修改登录密码?)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9