在之前这篇"Apache强制WWW跳转以及强制HTTPS加密跳转的方法"文章中,便宜主机网有分享到如果使用的虚拟主机、主机服务器环境是Apache,可以采用这样的方式设定WWW或者不带WWW的301重定向跳转。但是,尤其是主机、服务器环境,我们使用Nginx配置的也比较多,有些WEB环境可以自动设定重定向,但是大部分是不自带的需要我们自己设定。
在这篇文章中,将帮助我们如果使用的Nginx环境的主机、服务器环境,如何设定301跳转WWW或者不带WWW,以及强制HTTPS跳转。
第一、修改配置页面
/usr/local/nginx/conf/vhost
一般是这个路径找到我们当前需要设定301的.CONF配置文件,比如"www.cnbanwagong.com.conf".
第二、强制301跳转WWW
if ($host != www.cnbanwagong.com) {
rewrite ^/(.*)$ $scheme://www.cnbanwagong.com/$1 permanent;
}
将上面脚本添加到配置文件中,上列是跳转到WWW的,如果需要跳转到不带WWW的主域名,将WWW.替换掉就可以。
if ($host != cnbanwagong.com) {
rewrite ^/(.*)$ $scheme://cnbanwagong.com/$1 permanent;
}
修改完毕之后,我们重启Nginx即可生效。
第三、如何强制HTTPS跳转
如果我们网站有配置HTTPS加密形式的网址,默认在配置完毕之后,是HTTP和HTTPS都可以访问的,我们需要强制固定才行。
if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
同样的,添加到80端口配置处。前提是我们403端口的配置完毕才行。