关于多个域名指向同一网站的问题,按说这是一个很基础很简单的问题,但对新手来说,可能有些误解,在这里详细说下。
这里多个域名指向同一网站,是指裸域名(root domain)和其他如带www的域名指向同一网站。如输入abc.com或者www.abc.com,都是访问abc.com,正如本博客一样;或者输入abc.com或者www.abc.com,都是访问www.abc.com,如淘宝。
还有一种输入abc.com或者www.abc.com,不跳转,但网页内容是一致的,如广告中国(advertcn.com)。
首先,说点基础知识。当一个人访问一个网站,
第一步你的电脑要到这个域名的dns服务器去把域名换成相应的ip,因为ip才是互联网真正的地址和门牌号,域名只不过是方便记忆的别名而已。(中间可能还有dns缓存服务器的过程);
第二步,你的电脑将访问网站的请求发送你的网站服务器,我们的一键包中nginx就是专门处理这种请求的,它根据发来的数据进行处理;
第三步,如果是静态网站,就直接在服务器上读取相应文件的数据(如果是动态的,就将请求数据发送到如php处理后再获取数据),发送给你的电脑浏览器,浏览器将数据解析,然后就展现了缤纷丰富的网页。
那么,如果出现问题,就应该根据相应错误,在这三个方面进行排除,找到正确的地方进行处理。
如果多个域名指向同一网站出问题,在排除dns设置出错之后,一般问题都出在nginx的配置上。
一般dns设置添加www为aname,指向根域名的同一ip(或者设置www的cname为@)
那么,有这么几种设置方法,供参考:
1、多个域名指向同一网站,并301跳转。推荐用这个方法。
比如我的博客abc.com,nginx的设置是这样的:
如果是想实现淘宝的那种跳转:
修改好后,重新加载配置:
2、多个域名指向同一网站,使用refresh跳转,百度是用的这个方法,也就是输入baidu.com自动跳转到www.baidu.com,但没用301跳转。
首先用
这种方法,一般来说不如第一种的,特别是从seo的方面考虑,同时需要多加载一个index,速度也有影响,虽然微乎其微。
3、广告中国那种不跳转,只需要修改配置:
最后说下泛域名解析指向同一个网站。
也就是输入任何xxx.abc.com都指向abc.com,只需要在dns服务器设置 * 的aname为根域名同一ip,server_name 后面加上*.abc.com即可。如果要跳转,同上设置.
这里多个域名指向同一网站,是指裸域名(root domain)和其他如带www的域名指向同一网站。如输入abc.com或者www.abc.com,都是访问abc.com,正如本博客一样;或者输入abc.com或者www.abc.com,都是访问www.abc.com,如淘宝。
还有一种输入abc.com或者www.abc.com,不跳转,但网页内容是一致的,如广告中国(advertcn.com)。
首先,说点基础知识。当一个人访问一个网站,
第一步你的电脑要到这个域名的dns服务器去把域名换成相应的ip,因为ip才是互联网真正的地址和门牌号,域名只不过是方便记忆的别名而已。(中间可能还有dns缓存服务器的过程);
第二步,你的电脑将访问网站的请求发送你的网站服务器,我们的一键包中nginx就是专门处理这种请求的,它根据发来的数据进行处理;
第三步,如果是静态网站,就直接在服务器上读取相应文件的数据(如果是动态的,就将请求数据发送到如php处理后再获取数据),发送给你的电脑浏览器,浏览器将数据解析,然后就展现了缤纷丰富的网页。
那么,如果出现问题,就应该根据相应错误,在这三个方面进行排除,找到正确的地方进行处理。
如果多个域名指向同一网站出问题,在排除dns设置出错之后,一般问题都出在nginx的配置上。
一般dns设置添加www为aname,指向根域名的同一ip(或者设置www的cname为@)
那么,有这么几种设置方法,供参考:
1、多个域名指向同一网站,并301跳转。推荐用这个方法。
比如我的博客abc.com,nginx的设置是这样的:
vim /etc/nginx/sites-enabled/abc.com.conf
修改其中这一部分,其他照旧server_name abc.com www.abc.com *.abc.com;
root /var/www/abc.com;
if ( $host != "abc.com" ) {
rewrite ^/(.*)$ http://abc.com/$1 permanent;
}
如果是想实现淘宝的那种跳转:
server_name abc.com www.abc.com *.abc.com;
root /var/www/www.abc.com;
if ( $host != "www.abc.com" ) {
rewrite ^/(.*)$ http://www.abc.com/$1 permanent;
}
修改好后,重新加载配置:
invoke-rc.d ngxin reload
2、多个域名指向同一网站,使用refresh跳转,百度是用的这个方法,也就是输入baidu.com自动跳转到www.baidu.com,但没用301跳转。
首先用
bash damnp-actgod.sh dhost yourdomain.com
建一个空的虚拟主机。在此虚拟主机目录下新建一个index.htmlvim /var/www/yourdomain.com/index.html
内容如下:<html>
<meta http-equiv="refresh" content="0;url=http://www.yourdomain.com/">
</html>
这种方法,一般来说不如第一种的,特别是从seo的方面考虑,同时需要多加载一个index,速度也有影响,虽然微乎其微。
3、广告中国那种不跳转,只需要修改配置:
vim /etc/nginx/sites-enabled/abc.com.conf
server_name 后面添加多个域名即可,其他不用改。
server_name abc.com www.abc.com *.abc.com;
最后说下泛域名解析指向同一个网站。
也就是输入任何xxx.abc.com都指向abc.com,只需要在dns服务器设置 * 的aname为根域名同一ip,server_name 后面加上*.abc.com即可。如果要跳转,同上设置.
No comments:
Post a Comment