原创

顶级域名和二级域名之间的跳转问题

一个顶级域名下面可以配置多个二级域名,而通常我们直接访问顶级域名https://haohaowang.top的时候,默认应该让用户跳转到https://www.haohaowang.top。
一开始,在配置nginx的时候,通常直接写成下面那样的:

server{
        listen        80;
        server_name  haohaowang.top www.haohaowang.top;
        location / {
            proxy_pass http://127.0.0.1:8080;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size 100m;
        }
    }

但是这样会有一个跨域问题,导致用户登陆主网站后,还要再子网站进行登陆,通常这个问题单点登陆就能解决,但是我们有没有其他的解决方案的,答案当然是有的,就是当用户访问主站的时候,我们通过nginx直接重定向到www域名接口,这样就解决了,nginx这样配置即可

server{
        listen        80;
        server_name  haohaowang.top www.haohaowang.top;
        if ($host = 'haohaowang.top'){
            rewrite ^/(.*)$ https://www.haohaowang.top/$1 permanent;
        }
        location / {
            proxy_pass http://127.0.0.1:8080;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size 100m;
        }
    }
正文到此结束(点击广告是对作者最大的支持)