Nginx服务器中HTTP 301跳转到带www的域名的方法

2019-10-17 20:11:31于丽

从nginx的官方文档 documentation, 正确的nginx https 301跳转到带www域名方法的方法如下:

HTTP 301跳转到带www域名方法

    server {
        listen       80;
        server_name  example.org;
        return       301 http://www.example.org$request_uri;
    }

    server {
        listen       80;
        server_name  www.example.org;
        ...
    }   

HTTPS 301跳转到带www域名方法

     server {
            listen 80;
            server_name www.domain.com;
            // $scheme will get the http protocol
            // and 301 is best practice for tablet, phone, desktop and seo
            return 301 $scheme://domain.com$request_uri;
    }
    
    server {
            listen 80;
            server_name domain.com;
            // here goes the rest of your config file
            // example
            location / {
    
                rewrite ^/cp/login?$ /cp/login.php last;
                // etc etc...
    
            }
    }
    

要先用 nginx -v  命令检查你所说使用的nginx的版本. 下面是对于旧版本的nginx301跳转到带www域名方法从www.ksharpdabu.info 跳转到  ksharpdabu.info

    server {
        server_name  www.domain.com;
        rewrite ^(.*) http://domain.com$1 permanent;
    }

    server {
        server_name  domain.com;
        #The rest of your configuration goes here#