Nginx实现域名跳转

2017-05-14 14:15:23 +0000

      朋友最近让我帮忙解决域名跳转的问题,也不算复杂但还是记录下。问题是这样的,朋友的公司官网已上线2个多月后需要启用新的域名(abc1929.com),但是旧域名(abc.cn)已进行过宣传,不想放弃旧域名转化率。

      理论上应该很简单,就是让旧域名跳转到新域名并且浏览器的地址栏显示新域名。第一反应域名服务商应该支持,朋友公司的域名是阿里云(万网),在其域名管理后台->域名解析中看到一个“显性URL”刚好可以解决问题。但是在增加“显性URL”解析记录时,提示无法保存。打阿里云客服电话,才知道“显性URL”只能解析到阿里云的服务器。朋友官网的是在自己的机房,那么此路走不通了。

  • 显性URL:将域名指向一个http(s)协议地址,访问域名时,自动跳转至目标地址(例如:将www.net.cn显性转发到www.hichina.com后,访问www.net.cn时,地址栏显示的地址为:www.hichina.com)。

   (阿里云解析配置说明)

     

       只能想其它办法了,想到Nginx,经过网络搜索和实际测试实现如下。在朋友机房安装Nginx,在阿里云域名配置解析到让abc.cn解析到Nginx,让Nginx跳转到新的域名abc1929.com。Nginx的配置非常简单,如下:

    

server {

        listen 80;

        server_name www.abc.cn abc.cn;

        #charset koi8-r;

        access_log  /var/log/nginx/abc.access.log;

        location / {

            rewrite ^/ http://www.abc1929.com permanent;

            break;

        }

}