nginx rewrite

目录

一.rewrite 指令可以用于以下几个方面:

二rewrite实际场景

三.rewrite命令语法

四location的分类

五rewrite案例

1.公司更改域名旧域名不能废除要使用新域名

 2.旧域名跳转到新域名后面加目录

六 总结:

1.location的分类

2.location的匹配优先级

3.location和rewrite比较


在 Nginx 中,rewrite 指令用于重写 URL。通过使用 rewrite 指令,您可以修改客户端请求的 URL,并将其重定向到不同的位置或处理逻辑。

一.rewrite 指令可以用于以下几个方面:
  1. 重定向:您可以使用 rewrite 指令将一个 URL 重定向到另一个 URL。例如,您可以将所有对某个特定路径的请求重定向到另一个网址。

  2. URL 美化:有时候,为了提供更友好的 URL 结构,您可以使用 rewrite 指令将复杂的或包含参数的 URL 重写成更简洁的形式。这有助于提高用户体验和搜索引擎优化(SEO)。

  3. 路径处理:rewrite 指令可以用来改变 URL 中的路径,包括添加、删除或修改路径中的一部分。这对于在 Nginx 中进行 URL 路由和路由转发非常有用。

  4. 内部重定向:使用 rewrite 指令,您可以将请求的 URL 内部重定向到不同的 Nginx 位置(location),以实现不同的处理逻辑或代理到后端服务器。

  5. 条件重写:您可以结合 rewrite 指令和 if 指令,根据特定的条件对 URL 进行重写。例如,如果满足某个条件,您可以将请求的 URL 重写为另一个 URL。

URL:就是一个具体的路径或者位置

PRI:指的是一个拥有相同的类型/特性的对象集合

URN:用名称做定位 比如用姓名+身份证去找一个人

二rewrite实际场景

1.nginx跳转需求的实现方式

使用rewrite进行匹配跳转   防盗链

使用if匹配全局变量后跳转 不是centos系统的全局变量  而是nginx服务本身的全局变量

使用location匹配在跳转 匹配访问的url路径可以匹配本地的重写以及跨服务器的跳转

2rewrite放在server{} if{} location{}中  if可以放在server 也可以放在location中

location只对域名后面的子符串起作用     www.baidu.com/      只对/后面的起作用

3.对域名或参数字符串

使用if全局变量匹配

使用proxy pass反向代理

三.rewrite命令语法

 1.flag标记的说明

last: 相当于apache的L标记 表示完成rewrite  一般用在server和if中

break 本条规则匹配完成后终止,不在匹配后面的任何规则  一般在location中

redirect 返回302临时重定向,浏览器会显示跳转后的url地址,爬虫不会更新url

permanent 返回301永久重定向,浏览器地址栏会显示跳转后的url地址爬虫更新url

四location的分类

location大致分为三类

精准匹配    location = / {...}  例如location=hou   www.jiji.com/hou只匹配这个

一般匹配 location / {...} 例如 location / {...}   匹配 www.jiji.com/date  www.jiji.com/o/ko

www.jiji.com/hou/pop/popp 他都会匹配

正则匹配  location ~/{...}

五rewrite案例
1.公司更改域名旧域名不能废除要使用新域名

旧域名www.hou.com改成新域名www.pohou.com

在服务器nginx/conf上改配置文件

 进入/etc/hosts 改映射地址

 改完之后重启服务  检查配置文件有没有错

验证打开虚拟机浏览器 输入www.hou.com/*

 

 2.旧域名跳转到新域名后面加目录

比如访问http://www.hou.com/post   都要跳转到http://www.pohou.com/bbs/post

 进入/bbs/post目录中创建一个html网页

 进入/etc/hosts里面

 验证进入虚拟机

注意输入的是www.hou.com/post/1.html 

六 总结:
1.location的分类

精准匹配 location=ppo {}

一般匹配 location pall {}

正则匹配 location ~pall {}

2.location的匹配优先级

首先看优先级 精确>前缀>正则>一般>通用

优先级相同 正则看上下顺序上面的优先,一般匹配看长度,最长的优先

最后看通用匹配 一般匹配

3.location和rewrite比较

相同点 都能实现跳转

不同点 rewrite是在同一域名内更改获取资源的路径

location 是对路径做控制访问或反向代理

rewrite写在location中执行的顺序

首先执行server模块中的rewrite指令

在执行location匹配

最后执行location中的rewrite指令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值