公司由於備案的問題,需要將域名www.servera.com更換爲www.serverb.com.
但是原先網站所有鏈接均指向www.servera.com,這個時候可以通過2種方法:
1.在負載均衡器增加301跳轉,這樣打開每個www.servera.com的鏈接都跳轉到www.serverb.com.
比如我們的域名有
pics.servera.com
m.servera.com
item.servera.com
login.servera.com
這樣就都會做跳轉,但是存在一個問題就是每打開一個servera.com的鏈接都會做次跳轉
server { listen 80; server_name pics.servera.com; location ~* / { rewrite ^(.*) http://pics.serverb.com$1 permanent; } }
以上你會發現每次都需要做跳轉,響應時間長,需要多次進行網絡連接。
2.在負載均衡器做域名的替換,只要出現域名是servera.com就替換成serverb.com,這樣減少了網絡連接,減少跳轉次數
這裏利用Nginx的sub模塊來進行替換
在編譯的時候
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module
增加紅色部分
然後在需要替換的網站下添加
sub_filter servera.com 'serverb.com'; sub_filter_once off; sub_filter_types application/json application/x-javascript text/plain;
即可
默認會替換html文件,上面添加了json/js/plain格式,如果有xml的話也可以進行添加。
本文同http://fengwan.blog.51cto.com/508652/1825768