Linux服务:Nginx服务重写功能

本文详细介绍了Linux服务器上Nginx的重写功能,包括重写的作用,重点讲解了rewrite指令(如if、return、set、break),以及不同重写标志的用法,如redirect、permanent、break和last。通过示例展示了如何实现URL重定向,帮助提升网站安全性和用户体验。
摘要由CSDN通过智能技术生成

目录

一、重写功能

1、重写功能作用

2、rewrite指令

①if指令

②return指令

③ set指令

④break指令

3、rewrite标志

①redirect标志

②permanent标志

③break标志

④last标志

⑤rewrite标志实验


一、重写功能

1、重写功能作用

重写功能(rewrite)用于实现URL的重写,URL的重写是非常有用的功能,比如它可以在我们改变网站结构之后,不需要客户端修改原来的书签,也无需其他网站修改我们的链接,就可以设置为访问,另外还可以在一定程度上提高网站的安全性。

2、rewrite指令

①if指令


        用于条件匹配判断,并根据条件判断结果选择不同的Nginx配置,可以配置在server或location块中进行配置,Nginx的if语法仅能使用if做单次判断可以在server模块和location模块,不支持使用if else或者if elif这样的多重判断,用法如下:

 if (   [连接符]   条件匹配  ){

执行动作;

}

条件匹配连接符:

= 比较变量和字符串是否相等,相等为true。

!= 比较变量和字符串是否不相等,不相等为true。

~ 区分大小写,判断字符是否匹配,匹配为true。

~* 不区分大小写,判断字符是否匹配,匹配为true。

-f 和 !-f #判断请求的文件是否存在和是否不存在。

-d 和 !-d #判断请求的目录是否存在和是否不存在。

-x 和 !-x #判断文件是否可执行和是否不可执行。

-e 和 !-e #判断请求的文件或目录是否存在和是否不存在(包括文件,目录,软链接) 。
 

举例:
location /main {
     index index.html;
     default_type text/html;
#定义文件类型
     if ( $scheme = http ){
#如果用户访问的协议是http,$scheme变量表示用户来访问使用的协议。       
    echo "if-----> $scheme";
#则输出if --->协议 
    }
     if ( $scheme = https ){
#如果用户访问的协议是https,$scheme变量表示用户来访问使用的协议。 
      echo "if ----> $scheme";
#则输出if --->协议 
   }

②return指令


   

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值