return指令
该指令一般用于对请求的客户端直接返回响应状态码。在该作用域内return后面的所有nginx配置都是无效的。 可以使用在server、location以及if配置中。 除了支持跟状态码,还可以跟字符串或者url链接。
return和rewrite的区别,个人觉得就是正则匹配的性能区别.
示例:如果访问的URL以".sh"或".bash"结尾,则返回403状态码
location ~ .*\.(sh|bash)?$
{
return 403;
rewrite /(.*) /abc/$1; //该行配置不会被执行。
}
返回字符串:
server{
listen 80;
server_name www.aming.com;
return 200 “hello”;
}
说明:如果要想返回字符串,必须要加上状态码,否则会报错。
跳转URL :
server{
listen 80;
server_name www.aming.com;
return 301 http://www.aminglinux.com/123.html;
}
注意:return后面的url必须是以http://或者https://开头的。
跳转URI
server{
listen 80;
server_name www.aming.com;
return 302 http://class.aming.com$request_uri;
}
rewrite 指令