Chinaunix首页 | 论坛 | 博客

qsh

  • 博客访问: 4030353
  • 博文数量: 1015
  • 博客积分: 15904
  • 博客等级: 上将
  • 技术积分: 8572
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-04 19:16
文章分类

全部博文(1015)

文章存档

2019年(1)

2017年(1)

2016年(19)

2015年(27)

2014年(30)

2013年(95)

2012年(199)

2011年(72)

2010年(109)

2009年(166)

2008年(296)

分类:

2011-04-19 16:03:41

大家都知道IIS包括其他WEB服务器都可以建立多个站点,而如何区分多个站点有几种解决方案,当然最合适的解决方案就是绑定域名,也就是IIS上的主机头。

    一般的web服务器一个ip地址的80端口只能正确对应一个网站,处理一个域名的访问请求。而web服务器在不使用多个ip地址和端口的情况下,如果需要支持多个相对独立的网站就需要一种机制来分辨同一个ip地址上的不同网站的请求,这就出现了主机头绑定的方法。举个例子来说,一台服务器ip地址为192.168.1.10,有两个域名和对应的空间在这台服务器上,使用的都是192.168.1.10的80端口来提供服务。

    当一台主机绑定了多个域名后就不能用IP地址访问了,我们看一下web请求过程就明白了,  

    如果只是简单的将两个域名A和B的域名记录解析到这个ip地址,那么web服务器在收到任何请求时反馈的都会是同一个网站的信息,这显然达不到要求。接下来我们使用主机头绑定域名A和B到他们对应的空间文件夹C和D。当含有域名A的web请求信息到达192.168.1.10时,web服务器将执行它对应的空间C中的首页文件,并返回给客户端,含有域名B的web请求信息同理,只不过解释的是空间D的文件。所以在使用主机头绑定功能后就不能使用ip地址访问其上的任何网站了,因为请求信息中不存在域名信息,所以会出错。

    不过这也不是绝对的,通过其它方法我们还可以使用IP地址访问,比如我在一个站点里绑定一个主机头值为空的站点,这样就实现了IP地址访问。

    一个实例,解决泛域名解析带来的问题,比如我的welos.cn域名通过泛域名解析*.welos.cn解析到我的站点,因为前面设置了可以使用IP地址访问,那么我使用任何二级域名如xxx.welos.cn都可以访问站点,通常我们的站点都有cookie作用域,这就导致了其它域名访问无法保存登录信息。

    解决这个问题就要使用301重定向了,首先我们需要有一个绑定了首选域名的站点,比如然后新建一个站点,不绑定任何域名(同时保证没有其它站点不绑定域名或可以通过IP访问的站点),将此站点做301重定向到,那么在以后使用任何非首选域名访问都会自动跳转到首选域名。

阅读(2621) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~