一個(gè)頂級(jí)域名下面可以配置多個(gè)二級(jí)域名媳禁,而通常我們直接訪問(wèn)頂級(jí)域名http://dimonho.com的時(shí)候轨奄,默認(rèn)應(yīng)該讓用戶跳轉(zhuǎn)到http://www.dimonho.com赚哗。
一開(kāi)始嗦锐,在配置nginx的時(shí)候顶猜,我是直接寫(xiě)成下面那樣的:
server{
listen 80;
server_name dimonho.com www.dimonho.com;
location / {
proxy_pass http://192.168.1.92:18080;
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;
}
}
這樣無(wú)論在瀏覽器地址欄輸入dimonho.com還是www.dimonho.com都能訪問(wèn)到我的項(xiàng)目晌姚,但這樣有個(gè)問(wèn)題粤剧,當(dāng)同一個(gè)用戶在一個(gè)瀏覽器中訪問(wèn)這兩個(gè)不同的url的時(shí)候,session是不一樣的挥唠,這時(shí)候你會(huì)發(fā)現(xiàn)抵恋,在dimonho.com中登陸后,再去訪問(wèn)www.dimonho.com仍然需要重新登陸宝磨,同樣的在dimonho.com中退出后弧关,www.dimonho.com并沒(méi)有退出。
解決方式是當(dāng)用戶在瀏覽器中直接輸入頂級(jí)域名訪問(wèn)的時(shí)候唤锉,我們應(yīng)該將其重定向到www.dimonho.com下世囊,統(tǒng)一用戶的訪問(wèn)入口。將nginx稍作修改窿祥,如下:
server{
listen 80;
server_name dimonho.com www.dimonho.com;
if ($host = 'dimonho.com'){
rewrite ^/(.*)$ http://www.dimonho.com/$1 permanent;
}
location / {
proxy_pass http://192.168.1.92:18080;
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;
}
}