为了更好的 SEO,我们需要将不带 www 的主域名 301 跳转到带 www 的二级域名。

在 nginx 下,如何配置不带 www 跳转到带 www,http 跳转 https?比如用户访问 http://lervor.comhttp://www.lervor.comhttps://lervor.com,可以统一跳转到 https://www.lervor.com,大家可以点击上述相应链接体验。

那么,我们为何要这么做呢?不是可以只配置一个 www 的二级域名,或者只允许 http 访问不就行了。理论上是可以的,但是我们不能浪费主域名。而且为了安全性或者让用户觉得网站安全,一般都会上 ssl。这样一来访问入口就有多个,多个域名搜索引擎会认为是不同网站,对网站 SEO 非常不利,因此我们才统一入口。

废话不多说,直接上 nginx 配置

# http://lervor.com、http://www.lervor.com 301 跳转到 https://www.lervor.com
server {
    listen        80;
    server_name   lervor.com www.lervor.com;
    return 301    https://www.lervor.com$request_uri;
}

# https://lervor.com 301 跳转到 https://www.lervor.com
server {
    listen        443;
    server_name   lervor.com;
    return 301    https://www.lervor.com$request_uri;
}
    
server {
    listen 443    default_server ssl;
    server_name   www.lervor.com;
    ........
}

注意:请将配置文件中的域名换成自己的域名。

参考文章:nginx 301跳转到带www域名方法(不带www访问时重定向到带www域名)