有时需要给URL重定向,比如http自动跳转为https
方法一:return 301
如果只是需要自动将http跳转为https,直接在server块中加上return 301重定向就可以了:
return 301 https://$server_name$request_uri;
方法二:用rewrite
rewrite是一种服务器重写技术,不仅可以对URL重写,还可以限制指定IP的访问
语法:rewrite regexp replacement[flag];
编辑Nginx配置文件 /etc/nginx/nginx.conf
写在server, location核心模块中:
if ($http_host !~ “^www\.yourdomain\.com$”) {
rewrite ^(.*) http://www.youdomain.com$1 permanent;
}
其中$http_host是客户端设法要到达主机的主机名
permanent是rewrite的一个flag,表示返回状态码为301的永久重定向
另外还有其他的 Rewrite Flags:
last – 后面的rewrite指令失效,查找匹配改变后URI的新location区域
break – 中止Rewirte,不再继续匹配
redirect – 当replacement字符串不是以"http//"或"https//"开头时,返回临时重定向的状态码302
Scan the QR Code to add me on WeChat