nginx rewrite模块

return

从0.8.42版本开始, return 语句可以指定重定向 url (状态码可以为如下几种 301,302,303,307),
也可以为其他状态码指定响应的文本内容,并且重定向的url和响应的文本可以包含变量。

# return code [text]; 返回 ok 给客户端
location = /ok {
    return 200 "ok";
}

# return code URL; 临时重定向到 百度
location = /redirect {
    return 302 http://www.baidu.com;
}

# return URL; 和上面一样 默认也是临时重定向
location = /redirect {
    return http://www.baidu.com;
}

rewrite

rewrite regex replacement [flag];

regex 来匹配请求的url,如果匹配成功,则使用replacement更改URI。可以使用flag标志来终止指令的进一步处理

  1. last,停止处理当前的ngx_http_rewrite_module的指令集,并开始搜索与更改后的URI相匹配的location;
  2. break,停止处理当前的ngx_http_rewrite_module指令集,就像上面说的break指令一样;
  3. redirect,返回302临时重定向。
  4. permanent,返回301永久重定向。

小栗子

location = /favicon.ico {
            rewrite (.*) /static/favicon.ico;
        }
原文地址:https://www.cnblogs.com/zenan/p/10832739.html