> For the complete documentation index, see [llms.txt](https://bohans.gitbook.io/devops/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bohans.gitbook.io/devops/ngnix/ji-chu-zhi-shi/4.-nginx-fu-wu-qi-de-dai-li-fu-wu/4.5-rewrite/xiang-guan-zhi-ling/return-zhi-ling.md).

# return指令

<mark style="color:blue;">**return指令**</mark>用于<mark style="color:blue;">**完成对请求的处理，直接向客户端返回响应状态代码**</mark>。处于该指令后的所有Nginx配置都是无效的。

其语法结构有以下几种：

{% code lineNumbers="true" %}

```nginx
# 结构 1
return [ text ];
# 结构 2
return code URL;
# 结构 3
return URL;
```

{% endcode %}

其中：

* <mark style="color:blue;">**code**</mark>，为**返回给客户端的HTTP状态代码**。
  * **可以返回的状态代码为 0 \~ 999 的任意HTTP状态代码**。
  * 非标准的**444代码**可以**强制关闭服务器与客户端的连接，**&#x800C;不返回任何响应信息给客户端。
* <mark style="color:blue;">**text**</mark>，为返回给客户端的**响应体内容**，支持变量的使用。
* <mark style="color:blue;">**URL**</mark>，为返回给客户端的**URL地址**。

使用方式说明：

* 当**code**使用 **301**（表示被请求资源**永久**移动到新的位置）、**302**（表示请求的资源现在**临时**从不同的URL响应，要求使用GET方式请求）、**303**（表示对应当前请求的响应可以在另一个URL上找到，并且客户端应当采用GET方式访问那个资源）和**307**（请求的资源**临时**从不同的URL响应）代码时，可以使用<mark style="color:blue;">【</mark><mark style="color:blue;">**结构 2】**</mark> 将新的URL返回给客户端；
* 当code使用除上面提到的其他代码时，可以使用 <mark style="color:blue;">【</mark><mark style="color:blue;">**结构 1】**</mark> 指定text向客户端发送指定的响应体内容。
* 当返回状态代码为**302**或**307**时，可以使用【**结构 3】** 对 URL 进行配置。返回的URL中应该包含“http\://”、“https\://”或者直接使用“$scheme”变量（Request Scheme，代表传输协议，Nginx内置变量）指定。

{% hint style="info" %} <mark style="color:blue;">**该指令可以在server块和location块以及 if 块中使用**</mark>
{% endhint %}
