Nginx中进行重定向配置
发布时间: 2017-04-07  

有时需要给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

0 赞