公司由于备案的问题,需要将域名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