return功能解释
停止处理请求,直接返回响应码或重定向到其他URL
执行return指定后,location中后续指令将不会被执行
location / {
......
return 404;
......
}
语法结构
语法:
return code [text]; # 2xx状态码的情况下才可以看到[text]的响应
return code URL; # 3xx状态码用于重定向
return URL; # 必须以 http 或者 https 开头
默认值: -
上下文: server location if
重定向状态码
HTTP 1.0
301: 永久重定向
302: 临时重定向,禁止被缓存
HTTP 1.1
303: 临时重定向,禁止缓存,允许改变方法
307: 临时重定向,禁止缓存,不允许改变方法
308: 永久重定向,不允许改变方法
案例演示
- 场景
写一段配置监听8000端口,当访问根路径 '/' 时 重定向到 '/bbs'
- 相关页面准备
在[html]文件夹下新建[bbs.html]文件
html/bbs/bbs.html
配置段演示
ps: 之前介绍了include 如何导入子配置文件了,后面我们就在子文件夹中去编写这些配置文件
访问'/'重定向到'/bbs'
server {
listen 8000;
server_name jabberwocky.cn;
root html;
location / {
#return 200 "return 200 HTTP Code";
#return 302 /bbs;
return http://jabberwocky.cn:8000/bbs;
}
location /bbs {
index bbs.html;
}
}
效果
当访问 http://jabberwocky.cn:8000 时
跳转到 http://jabberwocky.cn:8000/bbs/
因为 '/bbs' 指向的 index 为 bbs.html
所以我们看到的是 bbs.html 的内容
bbs.html