前言

本文将详解如何配置Nginx的conf文件来使域名跳转到www和强制跳转到https
首先在建站之前,需要确认今后网站是使用类似uuks.cn一级域名,还是www.uuks.cn二级域名,根据域名长度,使用场景,域名视觉美观来决定.为不影响搜索引擎的收录和网站规范化,请务必提前规划,后期尽量不要改动.

本站示例

例如本站使用www.uuks.cn作为主域名,并使用https协议.
呈现在地址栏的主页地址为https://uuks.cn
呈现在地址栏的内页地址为https://https://uuks.cn/about.html
然而用户习惯,在输入网址时不会主动去填写https,甚至不会去输入www,而仅仅只是输入uuks.cn
按照以下配置,我们可以实现以下跳转:
地址栏输入uuks.cn跳转到https://https://uuks.cn
地址栏输入www.uuks.cn跳转到https://uuks.cn
地址栏输入uuks.cn/about.html跳转到https://uuks.cn/about.html
地址栏输入www.uuks.cn/about.html跳转到https://uuks.cn/about.html

配置流程

需要把域名的www和@两个主机分别设置A记录到你的服务器IP

全站域名跳转到www二级域名

配置80端口http协议重定向

编辑站点nginx.conf文件
第一个标注为http默认80端口,同时添加uuks.cn和www.uuks.cn两个域名.
第二个标注为添加301重定向代码
如果站点没有配置SSL证书,或者不使用https协议,把代码中的https替换为http即可.

return 301 https://uuks.cn$request_uri;

代码解释:
此代码表示手动不输入https只输入上面2个域名uuks.cn和wwww.uuks.cn时,浏览器默认使用80端口并自动添加http为http://uuks.cnhttp://www.uuks.cn都将因此段代码而强制跳转到https://uuks.cn
其中request_uri代表包含域名内页也将跳转到https的内页

配置443端口https协议重定向

如果站点没有配置SSL证书,或者不使用https协议,可以忽略以下步骤无需添加代码.
继续编辑下面的https
第一个标注为https默认443端口,同时添加uuks.cn和uuks.cn两个域名.
第二个标注为添加301重定向代码

if ($host = 'uuks.cn') {
            return 301 https://uuks.cn$request_uri;
        }

代码解释:
此代码表示如果输入的域名为https://uuks.cn将重定向到https://uuks.cn
其中request_uri代表包含域名内页也将跳转到https的内页
2.jpg
保存后上传覆盖你原有的conf文件
输入nginx -t检查错误
3.jpg
重启Nginx后生效

全站域名跳转到不含www一级域名

如果希望不使用www,直接使用uuks.cn一级域名为主域名,也可以稍作修改来实现.依然需要把域名的www和@两个主机都设置A记录到你的服务器IP.

配置80端口http协议重定向

编辑站点nginx.conf文件
第一个标注为http默认80端口,同时添加uuks.cn和www.uuks.cn两个域名.
第二个标注为添加301重定向代码
如果站点没有配置SSL证书,或者不使用https协议,把代码中的https替换为http即可.

return 301 https://uuks.cn$request_uri;

代码解释:
此代码表示手动不输入https只输入上面2个域名uuks.cn和www.uuks.cn时,浏览器默认使用80端口并自动添加http为http://uuks.cnhttp://www.uuks.cn都将因此段代码而强制跳转到https://uuks.cn
其中request_uri代表包含域名内页也将跳转到https的内页
4.jpg

配置443端口https协议重定向

如果站点没有配置SSL证书,或者不使用https协议,可以忽略以下步骤无需添加代码.
继续编辑下面的https
第一个标注为https默认443端口,同时添加uuks.cn和www.uuks.cn两个域名.
第二个标注为添加301重定向代码

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

代码解释:
此代码表示如果输入的域名为https://uuks.cn将重定向到https://uuks.cn
其中request_uri代表包含域名内页也将跳转到https的内页
5.jpg
保存后上传覆盖你原有的conf文件
输入nginx -t检查错误
6.jpg
重启Nginx后生效

结语

本文详解了Nginx的301重定向功能,实现跳转地址和强制https的目的,本站还介绍过Apache的301重定向教程,推荐相关文章以供参考:
Apache设置301重定向到www和强制跳转https教程
针对一级域名和www二级域名如何选择,个人建议根据你的域名实际情况而定,如果是.com/.net结尾,可以使用www来达到域名对称美,如果是以.cn/.me/.us/等短顶级域名,又或者一级域名很短(例如3位及以下),可以考虑不使用www,让域名简短易记.还有特殊结尾的字母不在一条线,例如.vip/.org/.top等也建议不使用www.以上仅供参考.
文章来源stille

最后修改:2022 年 02 月 16 日
如果觉得我的文章对你有用,请随意赞赏