return一般用于对请求的客户端直接返回响应状态码。在该作用域内return后面的所有nginx配置都是无效的。可以使用在server、location以及if配置中。除了支持跟状态码,还可以跟字符串或者url链接。
示例1
server{
listen 80;
server_name www.linuxds.com;
return 403;
rewrite /(.*) /abc/$1; #该行配置位于return后,则不会被执行。
}
直接返回403
示例2
1 server{
2 listen 80;
3 server_name www.linuxds.com;
4 return 200 "hello";
5 }
说明:如果要想返回字符串,必须要加上状态码,否则会报错。
1 location ^~ /aming {
2 default_type application/json ;
3 return 200 '{"name":"xhy","id":"100"}';
4 }
#返回的字符串也支持json数据。
1 location /test {
2 return 200 "$host $request_uri";
3 }
#返回的字符串也支持变量
1 server{
2 listen 80;
3 server_name www.linuxds.com;
4 return http://www.linuxds.com/123.html;
5 rewrite /(.*) /abc/$1; #该行配置位于return后,则不会被执行。
6 }
注意:return后面的url必须是以http://或者https://开头的。