MENU

Nginx - Rewrite 实现 301 跳转 302 跳转

January 3, 2018 • Read: 2946 • Nginx

Rewrite 实现 nginx 301 跳转 302 跳转

nginx 的 rewrite 格式是:rewrite regex replacement flag

其中 flag 标记有四种格式:
last – 相当于 Apache 中的 L
break – 中止 Rewirte,不在继续匹配
redirect – 返回临时重定向的 HTTP 状态 302,相当于 Apache 中的 R
permanent – 返回永久重定向的 HTTP 状态 301,相当于 Apache 中的 R=301
可以放在 server, location 和 if 模块中。

域名跳转

实例 1 https 跳转

server_name  www.attacker.club;
rewrite ^(.*)$  https://$server_name$1 permanent;
访问服务器请求全跳转到“server_name”定义的域名

实例 2 主机名跳转

server_name  attacker.club www.attacker.club;
if ($host != 'www.attacker.club' ) {
        rewrite    ^/(.*)$    http://www.attacker.club/$1    permanent;
}


if ($host = 'attacker.club' ) {
        rewrite    ^/(.*)$    http://attacker.club/$1    permanent;
}

兼总条贯 知至知终

最后编辑于: July 22, 2019