通过配置error_page 497 301 =307 https://$http_host$request_uri;
可以实现 http 跳转 https ,但是不太明白这个 301 的作用有哪位可以解释下吗
这是原帖的内容,没明白最后一句...
error_page 497 https://$host$request_uri; 默认用302,临时重定向
error_page 497 =301 https://$host$request_uri; 永久重定向
error_page 497 =307 https://$host$request_uri; 临时重定向,不改变请求的方法(如post还是post)
如果重定向后,没有带上正确的端口号,则显式的加上端口号 $server_port,
如 error_page 497 https://$host:$server_port$request_uri;
还有一种写法,
error_page 497 https://$host:$server_port$uri$is_args$args;
最终写法:
error_page 497 301 =307 https://$host:$server_port$request_uri; 永久重定向,不改变请求的方法(如post还是post)
1
twofox 275 天前
if ($scheme = http) {
return 301 https://$server_name$request_uri; } 我是这么配置的 直接配置 error_page 497 https://$http_host$request_uri; 也可以 看起来这个 301 = 307 有点多余 |
2
ysc3839 275 天前 via Android
https://nginx.org/en/docs/http/ngx_http_core_module.html#error_page
是遇到 407 或 301 这两个 code ,都跳转到目标 uri |
3
Anonono OP @ysc3839 感谢回答,我没能明白为什么原帖会加上 301 ,就有点怪了
@twofox 是在一个链接有看到加上 301 =307 以后不会修改原始请求方式,POST 仍然是 POST ,=307 我能明白,链接里的 301 我按 2 楼的方式能明白,但是看起来好像也有点多余?(绕进去了) * https://www.v2ex.com/t/648986 * https://www.cnblogs.com/haolb123/p/16553020.html * https://stackoverflow.com/a/15435799/11553658 |