Nginx中的server_name_in_redirect和port_in_redirect指令

 

这两个指令与return等可以实现重定向的指令有联系,先来看看这两个指令的方法。

 

> port_in_redirect

 

语法:port_in_redirect on | off;
默认值:port_in_redirect on;

上下文:http, server, location


 

> server_name_in_redirect

 

语法:server_name_in_redirect on | off;
默认值:port_in_redirect on;

上下文:http, server, location

 

在Nginx中进行重定向时,有两种情况:

(1)重定向的URL以URI的形式给出。

(2)重定向的URL是完整的。

 

server_name_in_redirect off;

port_in_redirect off;

return /test 301;

 

输出结果是:

Location: http://10.2.3.4/test

其中,10.2.3.4是服务器IP地址。

 

如果port_in_redirect为off时,那么始终按照默认的80端口;如果该指令打开,那么将会返回当前正在监听的端口。

如果server_name_in_redirect为off时,那么将会以当前服务器的IP地址进行拼接URL;如果该命令为on,那么首先查找server_name,如果没有找到,查找请求头的HOST字段,如果没有,则以当前服务器的IP进行拼接。

 

如果是完整的URL,那么直接以给出的URL返回,而不做任何改动,不管上面两个指令的打开还是关闭。

 

server_name_in_redirect off;

port_in_redirect off;

return http://10.2.3.5/test 301;

 

将会返回:

Location: http://10.2.3.5/test

 

(全文完)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值