Nginx设置域名301重定向教程

yangge.net 301跳转到www.yangge.net示例配置如下:

省略www.yangge.net虚拟主机server配置
server {
listen 80;
server_name yangge.net;
return 301 http://www.yangge.net$request_uri;
}

如果是想让http强制跳转到https,把里面的http换成https就行。
http站点301跳转到https站点示例配置如下:

server {
listen 443 ssl;
server_name www.xiaobai.org;
省略其他配置
}
server {
listen 80;
server_name yangge.net;
return 301 https://www.yangge.net$request_uri;
}

按上面例子修改完成后保存,执行:/etc/init.d/nginx restart 重启nginx,使其生效。

如果是想让https://yangge.net强制跳转到https://www.yangge.net
可以在https的虚拟主机配置文件中root行或server_name行下面添加上

if ($host = 'yangge.net') {
  return 301 https://www.yangge.net$request_uri;
}

如果要设置对应域名的http跳到对应https站点上
如:http://yangge.net 跳到 https://yangge.net ,http://www.yangge.net 跳到 https://www.yangge.net 上。
在对应域名的http虚拟主机配置文件中添加:return 301 https://$host$request_uri;

如果使用Let’sEncrypt免费SSL证书
如果使用的Let’s Encrypt的免费证书,而且你要想设置301,编辑要设置301域名的nginx虚拟主机配置文件,找到包含有listen 80;的server段,在

location ~ /.well-known {
            allow all;
        }

这几行下面添加,如下配置:

location / {
            return 301 https://$host$request_uri;
    }

保存,如果不设置会导致证书无法正常续期。

注意:以上所有更改nginx的配置都需要重启ngin生效。

0 打赏
未经允许不得转载:杨哥视界 » Nginx设置域名301重定向教程
分享到

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏