gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章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 。

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,

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:https://www.cnblogs.com/1016391912pm/p/13191663.html 。

最后此篇关于Nginx Rewrite使用场景及配置方法解析的文章就讲到这里了,如果你想了解更多关于Nginx Rewrite使用场景及配置方法解析的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com