Nginx系列--return的使用

2023-12-27 12:11:14

原文网址:Nginx系列--return的使用_IT利刃出鞘的博客-CSDN博客

简介

说明

本文介绍Nginx中return指令的用法。

官网网址

Module ngx_http_rewrite_module

语法

Syntax:	return code [text];
        return code URL;
        return URL;
Default:	—
Context:	server, location, if

注: Nginx 版本 0.8.42 开始

  • return code URL
    • 支持的code: 301、302、303、307 和 308
  • return code [text]
    • 支持的code:204、400、402 — 406、408、410、411、413、416 和 500 — 504 以及 444 响应码

代码 307 直到版本 1.1.16 和 1.0.13 才被视为重定向。
代码 308 直到版本 1.13.0 才被视为重定向。

响应码

  • 301:永久重定向(HTTP1.0标准)
  • 302:临时重定向,禁止被缓存(HTTP1.0标准)
  • 303:临时重定向,禁止被缓存,允许改变方法(HTTP2.0标准)
  • 307:临时重定向,禁止被缓存,不允许改变方法(HTTP2.0标准)
  • 308:永久重定向,不允许改变方法(HTTP2.0标准)

示例

返回状态码

配置

server {
     listen       8080;
     server_name  localhost;
     charset      utf-8;
     location / {
         return 200;
      }
}

访问结果

返回状态码和文本

配置

server {
       listen       8080;
       server_name  localhost;
       charset      utf-8;
       location / {
           return 200 "this is http code 200";
       }
   }

访问结果

信息会放在data中传输,使用360浏览器打开,会显示文本信息,使用谷歌浏览器打开会下载一个文本文件。

重定向到其他URL

配置

server {
       listen       8080;
       server_name  localhost;
       charset      utf-8;
       location / {
          return 302 /download/;
       }

      location /download/ {
          root /home/nginx;
          autoindex on;
          autoindex_exact_size off;
          autoindex_format html;
          autoindex_localtime on;
      }
}

访问结果

当浏览器输入http://xxx.xxx.xxx.104:8080的时候会重定向到/download/路径下,在浏览器上访问的就是http://xxx.xxx.xxx.104:8080/download/,如下图所示:

重定向到当前服务器其他路径

配置

server {
    listen       8080;
    server_name  localhost;
    charset      utf-8;
    location / {
       return http://abc.com/aaa/;
    }
}

访问:http://xxx.xxx.xxx.xxx:8080/

结果:重定向到http://abc.com/aaa/

文章来源:https://blog.csdn.net/feiying0canglang/article/details/128770731
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。