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;
}