nginx return知多少
戳蓝字“
阿铭linux
"关注我们哦!
该指令一般用于对请求的客户端直接返回响应状态码。在该作用域内
return
后面的所有nginx配置都是无效的。可以使用在server、location以及if
配置中。除了支持跟状态码,还可以跟字符串或者url链接。直接返回状态码示例
1
:server{ listen80
; server_name www.aming.com;return
403
; rewrite/(.*) /
abc/$1; /
/该行配置不会被执行。}示例2
:server {.....if
($request_uri ~"\.htpasswd|\.bak"
){return
404
; rewrite/(.*) /
aaa.txt;//该行配置不会被执行。
}//如果下面还有其他配置,会被执行。
.....}返回字符串示例3
:server{ listen80
; server_name www.aming.com;return
200
"hello"
;}说明:如果要想返回字符串,必须要加上状态码,否则会报错。还可以支持json数据示例4
:location ^~ /aming { default_type application/json ;return
200
"{"name"
:"aming"
,"id"
:"100"
}";}也支持写一个变量示例5
:location /test {return
200
"$host $request_uri"
;}返回url示例6
:server{ listen80
; server_name www.aming.com;return
http:
//www.aminglinux.com/123.html;
rewrite/(.*) /
abc/$1; /
/该行配置不会被执行。}注意:return
后面的url必须是以http:
//或者http://开头的。
生成场景实战背景:网站被黑了,凡是在百度点击到本网站的请求,全部都跳转到了一个赌博网站。通过nginx解决:if
($http_referer ~"baidu.com"
) {return
200
"<html><script>window.location.href="http://www.gunmi.cn//$host$request_uri";</script></html>"
;}如果写成:return
http://
$host$request_uri; 在浏览器中会提示“重定向的次数过多”。- END -
- 老年痴呆有4大早期信号,多少子女遗憾错过!
- 活在碱性,死于酸性,每天吃东西酸碱性很重要,你懂多少?
- 什么时候吃枸杞子最好,每天是多少粒?我们都错了!
- 跑步365天,天天都有好的变化!对于这些变化,你知道多少?
- 5000元/月“起征点”下月实施 你能少缴多少个税
- 现在,中国总共有多少钱?
- 各大景区迎来降价潮 这个“十一”游客能省多少钱?
- “社保转税”,到手工资少了多少?
- 成都佛系处理交通事故:丢骰子决定赔多少钱
- 地方政府到底欠了多少钱?